Gunicorn 入门介绍
Gunicorn(Green Unicorn)是一个用于UNIX的Python WSGI HTTP服务器,它是一个受Ruby的Unicorn启发的pre-forking worker模型的实现。 Gunicorn服务器非常容易与各种Web框架集成,如Django、Flask等,只需少量配置即可运行你的应用程序。
启动语法:
gunicorn [OPTIONS] APP_MODULE
安装Gunicorn
在使用Gunicorn之前,你需要确保已经安装了它。可以通过pip或apt来安装:
```bash
pip install gunicorn
```
或 :
sudo apt install gunicorn
启动Python程序
启动一个Python Web应用程序通常需要指定你的应用对象的位置。例如,如果你有一个名为app.py
的文件,并且其中定义了一个叫做app
的Flask实例,你可以这样启动Gunicorn:
```bash
gunicorn --workers 3 --bind 0.0.0.0:5000 app:app
```
这里第一个app
是指包含WSGI应用的模块名(不包括.py扩展),第二个app
是这个模块中WSGI应用实例的变量名。workers制定工作进程数量。bind来绑定地址和端口
注意,
该调用方式是作为一个模块来调用的。和python app.py调用的代码执行逻辑不同。
其代码并没有执行到if name == 'main':封装的部分。
常用选项
-w
: 设置工作进程的数量,例如-w 4
会创建4个工作进程。-b
: 绑定地址和端口,默认为127.0.0.1:8000
,可以指定为其他值比如-b 0.0.0.0:80
。--daemon
: 以守护进程的方式运行Gunicorn。--access-logfile
: 指定访问日志文件路径。--error-logfile
: 指定错误日志文件路径。
例如,以下命令将启动Gunicorn作为守护进程运行,监听所有网络接口上的80端口,使用3个工作进程,并记录访问和错误日志到特定文件:
```bash
gunicorn -w 3 -b 0.0.0.0:80 --daemon --access-logfile /var/log/gunicorn/access.log --error-logfile /var/log/gunicorn/error.log app:app
```
如何停止
使用 pkill 命令可以根据进程名终止进程。
pkill gunicorn
这会终止所有名为 gunicorn 的进程。
通过这些基本步骤和选项,你可以轻松地部署和运行你的Python Web应用程序。根据实际需求调整参数设置,可以优化性能和可靠性。