安装 Gunicorn
在你的电脑上安装 Gunicorn:gunicorn 添加到你的 requirements.txt 中,这样 Square Cloud 会将它与你的其他依赖一起安装:
requirements.txt
基本用法
要使用 Gunicorn 运行应用,你需要一个 WSGI 应用(例如用 Flask 或 Django 构建的应用),并且需要知道包含 WSGI 应用对象的模块名和变量名。 例如,如果你有一个位于名为app.py 文件中的 Flask 应用,且 Flask 实例名为 app,你可以使用以下命令通过 Gunicorn 运行它:
python -m gunicorn将 Gunicorn 作为一个 Python 模块运行。--bind 0.0.0.0:80告诉 Gunicorn 在所有网络接口的 80 端口上监听。app:app指定了包含 WSGI 应用对象的模块名(app)和变量名(app)。
wsgi.py 模块(将 myproject 替换为你的项目名称):
其他选项
Gunicorn 提供了若干选项来自定义其行为。下面是最常用的几个;Gunicorn 官方设置参考列出了全部选项。工作进程数
--workers <number>
MEMORY 之后再增加。如果你的应用因 LACK_OF_RAM 而停止,请减少工作进程数量。
进程名称
--name <name>-n <name>
工作进程类型
--worker-class <class>-k <class>
sync,但你也可以使用 gevent、eventlet、tornado 或其他工作进程类型。
配置文件
你也可以在 Python 配置文件中设置 Gunicorn 选项。Gunicorn 会自动从其运行目录加载名为gunicorn.conf.py 的文件,在 Square Cloud 上即你的项目根目录。如果使用其他文件名,请通过 -c <file> 传入。
gunicorn.conf.py
--bind 选项。
在 Square Cloud 上运行
在项目根目录创建squarecloud.app 文件,并把 Gunicorn 命令写入其 START 字段,这样 Square Cloud 就会用 Gunicorn 启动你的应用,而不是默认的 python app.py:
Gunicorn 必须绑定到
0.0.0.0:80:Square Cloud 会将你子域名的流量转发到应用的 80 端口。Square Cloud 还会将 PORT 环境变量设为 80,而 Gunicorn 会读取它:在没有 --bind 选项且设置了 PORT 时,它会监听 0.0.0.0:$PORT。START 中使用 myproject.wsgi:application,并将项目的 manage.py 作为 MAIN。Flask 和 Django 教程介绍了完整的部署过程。
后续步骤
Flask
在 Gunicorn 后面部署 Flask 应用。
Django
在 Gunicorn 后面部署 Django 项目。
应用无法启动
修复 EADDRINUSE、LACK_OF_RAM 和其他启动失败问题。
你喜欢这篇文章吗?
- 我们精心创作了这些内容,只为提供尽可能好的帮助。 如果这篇文章对你有任何帮助,请支持我们的工作!已经有开发者在 Google 和 Trustpilot 上给 Square Cloud 打出了 4.9/5 分(共 402 条评价),也留下你的评价吧!这能帮助我们了解什么对你最重要。
Google Reviews
在 Google Reviews 上留下你的评价。
Trustpilot
在 Trustpilot 上留下你的评价。

