Heroku 官网截图
Heroku 是什么?
Heroku 是一家提供多编程语言的云部署平台。支持从 GitHub 中拉取代码, 按自定义方式进行打包并部署到云服务器上。
提速前后的对比图
左图: 部署在 Heroku 的网站测速结果; 右图是提速后的测速结果。颜色代表网站的反馈时间,绿色代表快,越接近红色代表极慢甚至没法访问。
可以看到 部署在 Heroku 的网站 在国内的访问速度很不理想 (左图),大部份地区都是访问极慢的(橙色)。
提速后的结果达到了可用的极速 (右图所有有测试的省份都为深绿色)
测试项目的源代码
Streamlit 官网截图
我们选了一个 Streamlit 示例作为测试对像:
- GitHub 代码仓库: https://github.com/tobyglei/hello-streamlit-sample2
- Gitee 代码仓库: https://gitee.com/eryiyunbox-examples/hello-streamlit-sample2
如何提高 Heroku 在国内的访问速度?
直接把应用部署到国内的云服务商,如 AWS 中国区 或 阿里云。
使用基础云服务器来部署的缺点也非常明显: 初始化配置的比较多如搭建 Nginx,证书维护和更新,数据库管理等等,如果要做成能持续部署(Git push自动打包和部署),还需配合使用 Jenkins / Github Action / Travis CI 等等的持续集成工具。
如果你不喜欢折腾,想找像 Heroku 一样简单的方案,可以把应用托管在 21云盒子。
以 Streamlit 为例, 托管在 21云盒子 的流程:
1. 注册成为21云盒子会员
2. 授权 21 云盒子访问你要部署的代码仓库
示例图: 在21云盒子选择要部署的代码仓库
3. 配置 构建(打包) 命令 和发布目录
示例图: 配置 Streamlit 构建(打包) 命令 和启动命令
4. 点击 “马上部署”
不用一杯茶的时间,你的网站便完成了打包和部署到线上了。
你可以在 app_id.21yunbox.com
访问你的项目 (app_id
是创建是定义的)。
如果你不确定怎么操作? 直接看操作视频: https://www.bilibili.com/video/BV1SK4y1j7V2
21云盒子还能托管什么?
静态网页,如 静态博客,静态文档,企业官网 都可以轻松帮你完成。
更复杂一点的,像后端的应用框架 Python Django 或 PHP Laravel 这种是出了名部署起来比较复杂的,在21云盒子也能让你在 3, 4分钟完成打包上线生成一个唯一的二级域名。
数据库呢? 当然也给你简化了,一键建数据库(附上手视频)
还有什么? 想了解更多? 可以查看帮助文档
博客原文: https://www.21yunbox.com/blog/solutions/how-to-speed-up-heroku-in-china.html