记录一次Flask + gunicorn + nginx部署

Flask基本的配置和代码就暂时不贴了,这里主要是说一下nginx + gunicorn的通信。

首先是gunicorn的配置 gun.conf:

import os
bind = '127.0.0.1:5000' # 你想要绑定的IP地址和端口号
workers = 8   #启动的进程数
backlog = 2048 
worker_class = "gevent"  #使用gevent模式
dubug = True
chdir = '你flask应用的路径'
proc_name = 'gunicorn.proc' #为你的gunicorn起一个名字

你的flask的app.py文件:

from flaskserver import app


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

app.py文件位于你项目的根目录。

首先在你的虚拟环境(如果是全局配置则不需要)下进去你flask项目的根目录(与)gun.conf同级目录

使用命令:

gunicorn -k gevent -c gun.conf app:app

这里会启动8个进程,如果出现以下代码则说明启动成功

[2019-03-06 16:56:02 +0800] [47734] [INFO] Starting gunicorn 19.9.0
[2019-03-06 16:56:02 +0800] [47734] [INFO] Listening at: http://127.0.0.1:5000 (47734)
[2019-03-06 16:56:02 +0800] [47734] [INFO] Using worker: gevent
[2019-03-06 16:56:02 +0800] [47737] [INFO] Booting worker with pid: 47737
[2019-03-06 16:56:02 +0800] [47738] [INFO] Booting worker with pid: 47738
[2019-03-06 16:56:02 +0800] [47739] [INFO] Booting worker with pid: 47739
[2019-03-06 16:56:02 +0800] [47740] [INFO] Booting worker with pid: 47740
[2019-03-06 16:56:02 +0800] [47741] [INFO] Booting worker with pid: 47741
[2019-03-06 16:56:02 +0800] [47742] [INFO] Booting worker with pid: 47742
[2019-03-06 16:56:02 +0800] [47743] [INFO] Booting worker with pid: 47743
[2019-03-06 16:56:02 +0800] [47744] [INFO] Booting worker with pid: 47744

为了设置后台启动则需要对命令行增加 -D --daemon参数来做进程守护。

然后是nginx的配置:

server {
        listen       80;  #你对外暴露的端口号
        server_name  xxx.xxx.xxx.xxx;   # 你监听的IP或者你的公网域名

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            proxy_pass http://127.0.0.1:5000;  # 你的gunicorn配置的ip和端口号
            proxy_set_header Host $host;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }

这样就完成了nginx的转发。

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值