flask+nginx+uwsgi+supervisor部署到Ubuntu18.04

久未见 提交于 2019-12-09 15:16:23

 

0.准备

将flask项目放到/var/www目录下

设置app.py端口为0.0.0.0

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

1、安装pip3

apt-get install -y python3-pip

2、安装virtualenv

pip3 install virtualenv

在项目路径下创建虚拟环境

virtualenv venv

激活虚拟环境

source venv/bin/activate

进行相关依赖包的安装

3、安装Nginx

apt-get install -y nginx

配置Nginx

创建并配置Nginx配置文件

vi /etc/nginx/sites-enabled/web.conf

添加

server {
    listen      80;
    server_name xxx.xxx.xxx.xxx;
    charset     utf-8;
    client_max_body_size 75M;
    location / { try_files $uri @yourapplication; }
    location @yourapplication {
        include uwsgi_params;
        uwsgi_pass unix:/var/www/data_analysis/data_analysis_uwsgi.sock;
    }
}

4、安装uwsgi

# 须退出虚拟环境
(venv) root@c8c4db4592bb:/var/www/data_analysis# deactivate

使用系统python3的pip3安装uwsgi

pip3 install uwsgi

配置uwsgi

创建并配置uwsgi配置文件

vi uwsgi.ini
[uwsgi]
#application's base folder
base = /var/www/data_analysis
#python module to import
app = app
module = %(app)
home = %(base)/venv
pythonpath = %(base)
#socket file's location
socket = /var/www/data_analysis/data_analysis_uwsgi.sock
#permissions for the socket file
chmod-socket    = 666
#the variable that holds a flask application inside the module imported at line #6
callable = app
#location of log files
logto = /var/log/uwsgi/%n.log
# 创建uwsgi日志目录
mkdir -p /var/log/uwsgi

此时使用 uwsgi --ini uwsgi.ini 启动并使用服务器的公网即可访问到项目

5、安装supervisor

apt-get install -y supervisor

验证安装是否成功

echo_supervisord_conf

创建配置文件

mkdir -m 755 -p /etc/supervisor/
cd /etc
echo_supervisord_conf > /etc/supervisor/supervisord.conf

创建并配置supervisor任务

vi /etc/supervisor/conf.d/data_analysis.conf
[program:data_analysis]
command =/usr/local/bin/uwsgi --ini /var/www/data_analysis/uwsgi.ini
directory =/var/www/data_analysis
user =root
autostart=true
autorestart=true
startsecs=5
priority=1
stopasgroup=true
killasgroup=true
stderr_logfile=/var/supervisor/log/error.log

设置包含supervisor配置路径

vi /etc/supervisor/supervisord.conf 
[include]
files = ./conf.d/*.conf

启动supervisor

supervisord -c /etc/supervisor/supervisord.conf

可能报日志目录不存在,那么就创建

mkdir -p /var/supervisor/log

配置完成!

现在使用公网ip即可访问到项目

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!