休了一个长假, 换了换脑子, 敲起键盘来忽然不知道写的什么内容笔记好. 刚好最近搞了个整活的网站, 记载一下整个整活的进程. (尽管整活, 可是Vercel是真好用啊.)

作为一位多年的整活偷懒白嫖达人, 我也开发过不少有用的没用的应用和网站, 这次的网站上线的出奇的顺利. 甚至分文没花守住了三天将近30k的拜访量.(域名的钱不是钱, 是出资.)

咱们或多或少的都尝试过布置一些自己的小功用, 或许是个网站, 或许是个服务器或许数据库. 可是这个功用都需求咱们拥有一个个人独立服务器和公网ip. 而现在的各种云服务的供货商, 大的老用户不如狗, 小的就是买彩票. 三个九的保障率都快达不到(是吧, 某鸟)(我就偷个懒懒写了几天, 你真就三个九都达不到了?). 假如想租个能用的服务器, 一个月也得五六十. 开个会员十五都犹豫半天的咱们, 还能开这个? 并且咱们的普遍的需求就是构建一个自己的小工具, 共享一下自己运用的小网站. 不想太多的费心和吃力, 能主动布置和供给各样有用的小功用更好了就. 重要的是免费.

Vercel

这个网站就是Vercel, 相信不少的朋友们都或多或少的听过或运用过. 或许咱们最常用的场景是挂hexo的博客. 这也是我第一次听到Vercel的当地. 我的个人博客也一向挂在hexo中.clwater.top/ 写到这儿的时候现已运行了700多天了. 就连免费的https都不必一年一签了.

如何用Vercel满意你的一切[整活]需求?

Vercel实际上就是一个网站保管服务, 和Github Page相似, 你也能够关联到你的GitHub账号中, 使其能够主动布置. 不仅如此, Vercel还支撑布置serverless接口, 也就是说, 你能够把node.js, Python, Go, Ruby也保管到Vercel中, 关于一些轻量级的功用和网站来说, 现已满意运用了. 就在最近(也或许不是那么近), Vercel还增加了对数据库的支撑. 联系型和非联系型的数据库都支撑.

一个网站, 助力你的一切整活愿望.

整活网站

详细的整活网站就不放上来了, 我怕社死. 不过官方供给示例网站现已满意咱们运用了也.

整活网站包含了一个前端页面, 一个服务端, 甚至还有一个数据库. 尽管性能和总量有必定的限制, 可是它免费啊. Vercel供给的免费资源来说仍是十分充足的. 完全满意满意你绝大部分的需求.

如何用Vercel满意你的一切[整活]需求?

带宽的话由于网站中有段音频没有压缩, 导致浪费了不少. 不过现在看来也绰绰有余.

数据库

数据库这儿运用的是Durable Redis(KV)数据库, 整活要的是上班快, 什么数据库规划范式, 能用就行.

详细的运用办法如下:

进入vercel.com/dashboard/s…页面中,

如何用Vercel满意你的一切[整活]需求?

咱们挑选创立一个Durable Redis(KV)的数据库,

如何用Vercel满意你的一切[整活]需求?

起个姓名, 选个节点位置啥的, 不过都是国外的, 衔接速度就不必考虑, 找个随眼缘的就行.

当咱们创立完成后, 咱们就能够配置和运用了. Vercel供给了一些常见的运用办法, 用一般radies管理工具也能够衔接到Vercel的数据库.

如何用Vercel满意你的一切[整活]需求?

这次咱们就直接经过CLI进行简略的操作了.

如何用Vercel满意你的一切[整活]需求?

咱们能够看到, 数据库中的数据现已发生变化.

服务端

服务端的话这儿咱们运用的是Python, 这儿我建议是直接从Vercel的模板中进行创立. Flask和Django看你哪个用的顺手就选哪个.

详细的运用办法如下:

如何用Vercel满意你的一切[整活]需求?

如何用Vercel满意你的一切[整活]需求?

如何用Vercel满意你的一切[整活]需求?

一些基础信息完成后, 点击Create, 咱们就能够等着咱们的服务布置上去了.

如何用Vercel满意你的一切[整活]需求?

此刻, 你的服务现已布置到云端, 你能够直接经过外网进行拜访, 也能够绑定你自己的域名.

经过GitHub授权给Vercel后, 对应的项目就主动在你的GitHub中创立了.

这儿咱们就简略添加两个接口, 衔接到咱们刚刚创立的数据库, 用于设置和查询.

import os
import requests
import json
from flask import Flask
app = Flask(__name__)
@app.route('/')
def home():
    return 'Hello Vercel'
@app.route('/get')
def get():
    token = os.environ.get('token')
    headers = {
        'Authorization': 'Bearer '   token,
    }
    url = "https://loyal-sole-43611.kv.vercel-storage.com/get/test_key"
    rsp = requests.get(url, headers=headers)
    return json.loads(rsp.text)['result']
@app.route('/set/<count>')
def set(count):
    token = os.environ.get('token')
    headers = {
        'Authorization': 'Bearer '   token,
    }
    url = "https://loyal-sole-43611.kv.vercel-storage.com/set/test_key/"   str(count)
    rsp = requests.get(url, headers=headers)
    return str(count)
if __name__ == "__main__":
    app.run()

需求注意的是, 为了数据的安全性, Vercel能够经过Environment Variable来进行环境变量的配置, 记得上传的时候不要把这些私有的配置文件上传上去.

如何用Vercel满意你的一切[整活]需求?

如何用Vercel满意你的一切[整活]需求?

能够看到, 咱们现在现已把后端和数据库衔接了起来. 咱们能够经过服务端对数据库的内容进行修正了.

Web页面

接下来咱们就创立一个Web页面, 这儿能够看到, 主流的前端框架Vercel都是支撑的.(不愧是前端)

如何用Vercel满意你的一切[整活]需求?

这儿咱们挑选Vercel KV for Redis Next.js, 方便进行修正.

详细的运用办法如下:

如何用Vercel满意你的一切[整活]需求?

这儿会提示咱们创立对应的数据库, 当然你也能够在后面自己衔接或许手动配置。

如何用Vercel满意你的一切[整活]需求?

demo的相关页面如下,

如何用Vercel满意你的一切[整活]需求?

功用很简略, 记载一下这个页面的拜访量, 这儿选用的办法是直接拜访数据库, 你当然能够经过你的服务器去进行处理. 这儿就不过多赘述.

如何用Vercel满意你的一切[整活]需求?

通篇下来, 都没什么特别的当地, 一切的功用基本都能做到开箱即用, 又都以整活小功用居多.

写到这儿的时候, 刚看了一天的阿里云服务不可用的工作. 忽然想了想, 都是整活了, 两个九的可用性就现已完全能够满意了不是.