简介
- 本文将引导你使用 Gunicorn(一个 Python WSGI HTTP 服务器)在生产环境中运行 Flask、Django 和其他 WSGI 应用。
- 在开始之前,请确保你的环境中已安装 Python 和 Gunicorn。你可以使用以下命令安装 Gunicorn:
- 同时把
gunicorn添加到你的requirements.txt中,这样 Square Cloud 会将它与你的其他依赖一起安装:
requirements.txt
基本用法
要使用 Gunicorn 运行 Python Web 应用程序,你需要有一个 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 替换为你的项目名称):
在 Square Cloud 上运行
将该命令写入配置文件的START 字段,这样 Square Cloud 就会用 Gunicorn 启动你的应用:
squarecloud.app
Gunicorn 必须绑定到
0.0.0.0:80:Square Cloud 会将你子域名的流量转发到应用的 80 端口。Square Cloud 还会将 PORT 环境变量设为 80,而 Gunicorn 会读取它:在没有 --bind 选项且设置了 PORT 时,它会监听 0.0.0.0:$PORT。其他选项
Gunicorn 提供了若干选项来自定义其行为。这里我们将展示一些选项。Workers
--workers <number>
MEMORY 之后再增加。如果你的应用因 LACK_OF_RAM 而停止,请减少工作进程数量。
Name
--name <name>-n <name>
Worker-class
--worker-class <class>-k <class>
sync,但你也可以使用 gevent、eventlet、tornado 或其他工作进程类型。
附加内容
Gunicorn 还有更多选项和功能,你可以在官方文档中探索。配置文件
- 你也可以在 Python 配置文件中设置 Gunicorn 选项。Gunicorn 会自动从其运行目录加载名为
gunicorn.conf.py的文件,在 Square Cloud 上即你的项目根目录。如果使用其他文件名,请通过-c <file>传入。
gunicorn.conf.py
- 项目中有了这个文件后,
START字段只需写成:
squarecloud.app
后续步骤
Flask
在 Gunicorn 后面部署 Flask 应用。
Django
在 Gunicorn 后面部署 Django 项目。
应用无法启动
修复 EADDRINUSE、LACK_OF_RAM 和其他启动失败问题。
你喜欢这篇文章吗?
- 我们精心创作了这些内容,只为提供尽可能好的帮助。 如果这篇文章对你有任何帮助,请支持我们的工作!已经有开发者在 Google 和 Trustpilot 上给 Square Cloud 打出了 4.9/5 分(共 402 条评价),也留下你的评价吧!这能帮助我们了解什么对你最重要。
Google Reviews
在 Google Reviews 上留下你的评价。
Trustpilot
在 Trustpilot 上留下你的评价。

