Flask + Nginx + gunicorn部署

备注:此处部署是在ubuntu16.04下部署,python3.6.4,在虚拟环境中进行部署;这是Flask框架搭建的最简单的示例,运用了flask_script拓展,启动命令python manage.py runserver。

 

1. 安装nginx:

sudo apt-get install nginx

2. 进入项目目录中,安装gunicorn:

pip install gunciorn -i https://pypi.doubanio.com/simple/

3. 进入项目目录中,创建test.conf(nginx的配置文件):

server {
    listen 9988;
    server_name 192.168.4.129;          # 服务器公网ip

    location / {
        # 设置文件大小,三条一起写
        proxy_buffer_size 64k;
        proxy_buffers   32 32k;
        proxy_busy_buffers_size 128k;

        proxy_pass http://127.0.0.1:9092;      #这个是Gunicorn与Ningx通信的端口,参数是proxy_pass,需要加上http://
        access_log /var/log/nginx/access.log;
        error_log  /var/log/nginx/error.log;
    }
}

4. 创建软连接,将test.conf配置文件链接到nginx目录下:

sudo ln -s /home/k8s-node1/pythonFiles/untitled/test.conf /etc/nginx/conf.d/  # 写绝对路径

5. 在项目中创建run.sh启动脚本:

export FLASK_APP=app
#nohup gunicorn -b 127.0.0.1:9092 manage:app > /dev/null 2>&1 &  # 后台运行
gunicorn -b 127.0.0.1:9092 manage:app
#/home/k8s-node1/.pyenv/versions/env-3.6.4/bin/gunicorn -b 127.0.0.1:9092 manage:app  # 开始不进入虚拟环境,直接找到python的虚拟环境目录运行
#nohup /home/k8s-node1/.pyenv/versions/env-3.6.4/bin/gunicorn -b 127.0.0.1:9092 manage:app > /dev/null 2>&1 & # 后台运行

6. 执行run.sh脚本启动项目:

 

 

在浏览器中输入:公网ip:端口/url  即可访问项目。

posted @ 2019-11-07 17:27  aidenzdly  阅读(285)  评论(0编辑  收藏  举报