Day 15 Heroku + Flask

Heroku 的范例是使用 django + gunicorn 作为服务器的。
而我在这边要改成 flask + gunicorn。

为什麽需要 gunicorn?
因为 flask 内建的 WSGI(Web Server Gateway Interface),
Werkzeug 主要是测试和开发使用,速度并不快,不适合用在生产环境。

可用的 WSGI 包含但不限於 Gunicorn、uWSGI、Gevent ...

在这里先用简单的 flask 页面部署至 Heroku。

a01_flask_server.py

from flask import Flask

app = Flask(__name__)


@app.route('/')
def hello():
    return f'Hello, World!'

if __name__ == 'main':
    app.run()

Procfile

注意一下gunicorn 後面的名称,这里要和执行的档名一样。

web: gunicorn a01_flask_server:app

requirements.txt

gunicorn
flask

runtime.txt

python-3.7.11

查看纪录

heroku logs --tail

git 初始化

git init

在 heroku 上建立一个 app

这同时会加入 git 的远端
heroku create

将目前的更改推送到 heroku

注意目前的分支名称是 master 还是 main,
对 heroku 来说两个都支援,并会使用最新的分支。

git add .
git commit -a -m "init"
git push heroku main

打开网页
heroku open


<<:  Day 15. slate × Interfaces × Iteration

>>:  Day 15 再手动安装个 Python3 容器看看

Proxmox VE 建立排程备份及制订保留策略

随着 Proxmox VE 上线後重要的客体机服务越来越多,如何确保所有重要客体机都有完整的备份就...

【Day 07】领域驱动设计的战术设计(Tactical Design)

前言 上一篇我们讨论DDD的战略设计,说明系统范围如何切割成多个领域(Domain)、子领域(Sub...

DAY 08 Nesting

嵌套 Nesting 当你在编辑一个 html 档案时,巢状结构的架构可以让你快速了解,每个区块里面...

【第四天 - HG 泄漏】

Q1. HG 是什麽? Mercurial 是一种轻量级分散式版本控制系统,由於 Mercuial ...

把问题界定清楚,远比提出解决方案更为重要。

把问题界定清楚,远比提出解决方案更为重要。 The mere formulation of a pr...