在Glitch上部署你的Web应用
前言
你可能听说过Serverless这个名称,Serverless简单来说就是用户无需关注服务器运维,配置,安全等部分,只需要关注应用本身。本文提到的Glitch就是这样的一个Serverless应用平台
目前国内国外也有很多这样的平台,下面是我知道的一部分
- Heroku (支持Docker,老牌Serverless平台,免费提供少量数据库空间,未绑定银行卡每月应用时间550小时,绑定后增加450小时)
- cloudflare Workers (Cloudfalare的新产品,似乎仅支持js)
- 腾讯云函数 (国内平台,还在内测,商用后不知道会不会还有免费套餐)
- 阿里云Serverless (没用过,好像没有免费套餐)
- LeanCloud (每天有一定的休眠时间,有少量免费资源)
- GCP (谷歌云平台,老牌Serverless,国内无法访问)
- Glitch (免费每个月1000小时,无需银行卡,无数据库,原生支持js,其他编程语言也有办法支持)
本文使用的Glitch平台虽然刚成立不久,但是免费1000小时的时间可以保证你的应用持续在线,因为他的使用方式比较特殊,就写一篇文章来记录一下如何使用它
开始
注册
不解释了,自己打开注册 https://glitch.com/
创建项目
请选择第二个或者是第三个,第一个为静态网页,无法实现复杂的功能
项目设置
打开项目,这个平台提供了在线编辑器,但是他的在线编辑器并不是十分好用,我们需要在本地开发并上传到平台上
修改项目名称
点击左上角项目名称即可进行修改,不知道为什么我总是需要修改多次才有效。。。。
访问git
在这里找到git仓库链接
https开头的链接就是git仓库链接,这个链接十分重要,不要告诉其他人
使用通常的方式将仓库克隆到本地,克隆之后还需要在终端设置允许推送
像这样打开终端,并输入
1 | git config receive.denyCurrentBranch updateInstead |
这样才可以在本地开发之后推送代码到平台运行
经常会遇到的一些问题
端口
你会在初始仓库内看到这样一串代码
1 | const listener = app.listen(process.env.PORT, () => { |
需要注意平台的监听端口被保存在环境变量里,在本地修改后的代码监听端口也应该使用相同方式获得
无法提交或未同步本地代码和平台代码
刷新页面或者在浏览器编辑器切换打开的文件即可,如果遇到推送冲突的问题需要下拉取或者在浏览器终端内放弃更改
提交后的代码未刷新
在终端内输入refresh
即可
数据存储
请看官方项目模板sqlite,目前似乎只提供sqlite存储,并不提供mysql等独立数据库服务器
使用Python开发
使用Python的方式和上面的一样,创建好项目后更改package.json
,将start命令修改为python启动命令即可,当然也需要先安装依赖再启动
推荐,另一种方案
删除package.json
,使用Web终端新建一个start.sh
文件,在里面填上应用启动命令即可。