0
点赞
收藏
分享

微信扫一扫

33Django之uwsgi项目启停

1uwsgi运行说明:

1无论启动还是关闭,都必须要执行ps aux|grep 'uwsgi'确认是否符合预期

2启动后,进程在后台执行,所有日志均输出在配置文件所在的目录的uwsgi.log中

3django中的代码有任何修改,都需要重启uwsgi

2安装uwsgi:

#检查是否已安装uwsgi
[root@web01 ~]#pip freeze|grep -i 'uwsgi'
#安装uwsgi
[root@web01 ~]#pip install uwsgi==2.0.20 -i https://pypi.tuna.tsinghua.edu.cn/simple/

3uwsgi配置文件说明:

[root@web01 ~/djangoProject2/djangoProject2]#cat uwsgi.ini 
[uwsgi]
#socket=127.0.0.1:8000 #此模式必须要有nginx
http=127.0.0.1:8000
chdir=/root/djangoProject2 #用绝对路径指定项目目录
wsgi-file=djangoProject2/wsgi.py #用相对路径指定wsgi的位置
process=4 #进程个数,根据cpu核数定
threads=2 #每个进程中有几个线程
pidfile=uwsgi.pid #进程文件
daemonize=uwsgi.log #日志文件
master=True #开启主进程模式,即要有master进程去监视下面的子进程

4启停uwsgi:

#进入uwsgi所在的目录
[root@web01 ~/djangoProject2/djangoProject2]#ls
asgi.py __init__.py media __pycache__ settings.py urls.py uwsgi.ini views.py wsgi.py

#启动uwsgi
#uwsgi -d --ini uwsgi.ini

[root@web01 ~/djangoProject2/djangoProject2]#uwsgi --ini uwsgi.ini
[uWSGI] getting INI configuration from uwsgi.ini

#查看目录多出来了启动文件和日志文件
[root@web01 ~/djangoProject2/djangoProject2]#ls
asgi.py __init__.py media __pycache__ requirements.txt settings.py urls.py uwsgi.ini uwsgi.log uwsgi.pid views.py wsgi.py

#检查uwsgi是否已经启动:
[root@web01 ~/djangoProject2/djangoProject2]#ps aux|grep 'uwsgi'
root 325189 0.0 1.1 64844 9368 ? S 16:04 0:00 uwsgi --ini uwsgi.ini
root 325190 0.0 1.3 148060 11172 ? Sl 16:04 0:00 uwsgi --ini uwsgi.ini
root 325191 0.0 0.3 64844 2736 ? S 16:04 0:00 uwsgi --ini uwsgi.ini
root 325218 0.0 0.1 12348 1052 pts/1 S+ 16:15 0:00 grep --color=auto uwsgi

#停止uwsgi:
#pkill -9 uwsgi

[root@web01 ~/djangoProject2/djangoProject2]#uwsgi --stop uwsgi.pid
[root@web01 ~/djangoProject2/djangoProject2]#ps aux|grep 'uwsgi'

5uwsgi常见问题汇总:

1启动失败:
原因:端口被占用

解决方法:
通过lsof -i:8000查看具体进程,然后杀掉进程后重启uwsgi即可!

2停止失败:
原因:重复启动uwsgi导致pid文件中的进程号失准

解决方法:
通过pa -aux|grep 'uwsgi'命令找到进程并查看进程号,然后用cat uwsgi.pid 命令查看文件内的进程号,如果号码不一致,就直接pkill -9 uwsgi或者直接kill -9 进程号。

 



举报

相关推荐

0 条评论