部署flask+gunicorn+nginx 项目

Posted Z素颜

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了部署flask+gunicorn+nginx 项目相关的知识,希望对你有一定的参考价值。

一、部署步骤:

  1. 拷贝flask项目文件到Linux:

    xshell 下使用"rz " 命令拷贝文件到当前目录,覆盖可以使用 "rz -f"

  2. 验证拷贝过来的flask项目是否能正常执行,主要python版本,例如:

    python3   /home/zengsuyan/FQA/homepage.py

  3. 安装gunicorn :

    a.pip install gunicorn

  4. 在flask的项目的目录下启动:gunicorn -w 3 -b 127.0.0.0:5000 homepage:app

    # homepage指的是homepage.py文件,app指的是flask应用的名字:

  5. 配置nginx 反向代理:(nginx安装在/usr/local/nginx/sbin/目录

    a.配置如图:/usr/local/nginx/conf/nginx.conf

    部署flask+gunicorn+nginx 项目


    b.启动nginx :

    /usr/local/nginx/sbin/nginx -s reload

二、部署过程遇到的问题


  1. 执行flask 项目,出现链接数据库超时,排查可能原因:

    a.查看端口占用情况:netstat -nltp | grep 3306

    b.防火墙是否关闭:sudo systemctl status firewalld

    d.数据库服务器是否有白名单限制:有做白名单需要在白名单增加本服务器ip

  2. nginx启动报错:nginx: [emerg] unknown directive "stub_status" in /usr/local/nginx/conf/nginx.conf:75,解决:

    安装时候命令如下:

    1)./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module

    2).make

    3).makeinstall

  3. 执行gunicorn命令提示-bash: gunicorn: command not found

    a.检测 是否安装成功:pip list

    部署flask+gunicorn+nginx 项目

    b.查看gunicorn 目录:#find / -name gunicorn

c.添加环境变量如上图,如果不存在就重新安装gunicorn,如果存在就添加环境变量

        1).编辑环境变量 #vi /etc/profile:

            增加export PATH=/usr/local/lib/python3.6/site-packages

    2.变量生效 #source /etc/profile

以上是关于部署flask+gunicorn+nginx 项目的主要内容,如果未能解决你的问题,请参考以下文章

一周掌握Flask框架学习笔记Flask项目部署(使用gunicorn和nginxuWSGI和nginx两种部署方式)

Python3+Gunicorn+Nginx 部署Flask项目

Flask + Nginx + Gunicorn + Gevent部署

用docker部署flask+gunicorn+nginx

nginx+gunicorn+flask部属web时,使用nginx如何指定多个静态文件路径

2020最新nginx+gunicorn+supervisor部署基于flask开发的项目的生产环境的详细攻略