flask+uwsgi+supervisor部署流程

 背景:

小鱼最近搞了个工程,python用的2.7(用3也可以),后端使用的是flask,服务器用的linux,使用 flask+uwsgi+supervisor部署 ,查阅相关博客、调试、实操,已经搞起来了

supervisor介绍如下:

supervisor:进程管理工具,可以很方便的管理你的工程 启动、重启、停止等操作,不用再去自己写脚本控制;想更深入了解可以搜下相关supervisor资料介绍

 

安装部署流程如下

 

1.将工程打包到服务器上

上传的方法很多,如xftp、filezilla 工具、或ftp命令等;

 

2.新建虚拟环境

此步可以忽略,根据自己实际情况来

使用virtualenv 的好处就是可以让你的项目单独使用一个环境,不受系统环境和其他项目的影响

命令:

virtualenv venv

会生成venv目录,使用 source venv/bin/activate 进去虚拟环境,如图:

 

退出直接使用 deactivate  即可

你的工程需要安装包的话自行 pip安装

 

3.安装 uwsgi

pip uwsgi install 

安装完成后,会成生 uwsgi 文件,如图:

 

 

4.配置 uconfig.ini文件

新建 uconfig.inx文件,命令行 vi uconfig.ini

增加配置如下:

 

 1 [uwsgi]
 2 
 3 # uwsgi 启动时所使用的地址与端口
 4 http-socket = 0.0.0.0:5000 
 5 
 6 # 指向网站目录
 7 chdir = /home/xxxxx  #路径为步骤1中实际工程的目录
 8 
 9 # python 启动程序文件
10 wsgi-file = manage.py
11 
12 # python 程序内用以启动的 application 变量名
13 callable = app
14 plugins = python
15 # 处理器数
16 processes = 4
17 
18 # 线程数
19 threads = 2
20 
21 #状态检测地址
22 stats = 127.0.0.1:9191

 

 

 5.安装 supervisor

pip install supervisor

安装完成后会生成 echo_supervisord_conf、supervisorctl、supervisord 文件,如图

 

 

6. 生成配置文件  supervisord.conf

1)supervisord.conf 文件名自己取,生成到哪个目录下面自己选择,命令:

echo_supervisord_config > supervisord.conf

2)修改supervisord.conf配置

vi supervisord.conf

输入二个大写的G,到文件最后面,配置如下:

 

[include]      # ‘;’注释去掉
;files = relative/directory/*.ini
files = /xxx/supervisor/conf.d/*.conf # 路径自己配置

 

 如图:

 

3)修改后保存,命令 wq

 

7.新增配置文件 supervisor/conf.d/uwsgi.conf

命名:

mkdir -p supervisor/conf.d
vi supervisor/conf.d/uwsgi.conf

新增配置如下:

 1 ; ================================
 2 ; uwsgi supervisor
 3 ; ================================
 4 
 5 [program:uwsgi]
 6 command=/xxxx/uwsgi --ini /xxx/uconfig.ini  # 前面路径为步骤3中uwsgi的路径,后面路径为步骤4中uconfig.ini的路径
 7 directory=/xxxxx/  # 路径为步骤1中自己工程的目录
 8 user=root
 9 stdout_logfile=/xxxxx/uwsgi_out.log  # 自己选择路径配置
10 stderr_logfile=/xxxx/uwsgi_err.log  # 自己选择路径配置
11 autostart=true
12 autorestart=true
13 startsecs=10
14 priority=997

 

 

8.以上都完成后,就可以运行你的工程了

1)命令:

killall supervisord

supervisord -c supervisord.conf

 

2)查看是否启动,

ps -ef|grep supervisord

ps -ef|grep uwsgi

 

如果没启动,查看配置是否配置有误,具体问题具体分析

 

3)使用supervisorctl管理你的工程 

命令:

supervisorctl

help

 

使用 stop、start等,可以很方便的管理你的工程

 

 

好了,以上就是小鱼的部署步骤,可以愉快的玩耍了

 

转载于:https://www.cnblogs.com/whycai/p/11405202.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值