uwsgi部署django以及uwsgi的重启和重置

前提:搭建好django框架

简介:
构建托管服务开发全栈
应用于前端server(nginx)与后端server(uWSGI)的通信中,制定规范等等,让前后端服务器可以顺利理解双方都在说什么

1.安装uwsgi
pip install uwsgi #最好pip运行环境与django是一套,否则在启用服务的时候会报缺少module

2.部署uwsgi
a.在django项目的同级目录下面新建一个目录,我这里是新建了Uwsgi目录
b.cd Uwsgi
c.在新建的Uwsgi的目录下面,新建一个uwsgi的配置置文件 vim uwsgi.ini
d.配置文件的内容如下:

# uwsig使用配置文件启动
[uwsgi]
# 项目目录,全路径
chdir=/www/djangoProject_name/
# 指定项目的application
module=djangoProject_name.wsgi:application
# 指定sock的文件路径
socket=/www/djangoProject_name/uwsgi.sock
# 进程个数
workers=5
pidfile=/www/djangoProject_name/Uwsgi/uwsgi.pid
# 指定IP端口
http=0.0.0.0:8000
# 指定静态文
#static-map=/static=/vipkid/airflowTasks/static
# 启动uwsgi的用户名和用户组
uid=root
gid=root
# 启用主进程
master=true
# 自动移除unix Socket和pid文件当服务停止的时候
vacuum=true
# 序列化接受的内容,如果可能的话
thunder-lock=true
# 启用线程
enable-threads=true
# 设置自中断时间
harakiri=30
# 设置缓冲
post-buffering=4096
# 设置日志目录
daemonize=/www/djangoProject_name/Uwsgi/uwsgi.log

路径说明:
static-map:没有静态文件的可以注释掉(一般前后端分离是没有静态文件的)
module:项目文件.wsgi.application
在django生成的项目文件里面,有一个与项目名称一样的目录,下面的wsgi.py文件可以看到application
在这里插入图片描述
log、sock、pid文件都在一开始就新建的Uwsgi目录下面
uid、gid是命令行登录的用户

e.将配置文件uwsgi.ini配置好后,保存退出

d.启动uwsgi

uwsgi --ini uwsgi.ini

启动成功即可看到
[uWSGI] getting INI configuration from uwsgi.ini

3.重启uwsgi(一般在修改了django项目的文件之后,是需要重启uwsgi的)
a.首先找到uwsgi的配置文件 .ini文件,查看配置文件中.pid的路径
在这里插入图片描述
打开查看pid
在这里插入图片描述
查看uwsgi进程:
在这里插入图片描述

可以看到两者的pid是一样的

b.停止uwsgi服务:

uwsgi --stop /www/Uwsgi/uwsgi.pid 

c.启动uwsgi服务:

uwsgi --ini /www/Uwsgi/uwsgi.cfg

d.重启成功可见:
[uWSGI] getting INI configuration from uwsgi.ini

注:重置uwsgi服务

uwsgi --reload uwsgi.pid

e.重启成功后可以按照上面的方法去pid文件和ps一下进程号是否是一致的

猜你喜欢

转载自blog.csdn.net/weixin_43202081/article/details/107785335