1、uwsgi配置
# uwsig使用配置文件启动
[uwsgi]
# 项目目录
chdir=/www/news/
# 指定项目的application
module=itstyle.wsgi:application
# 指定sock的文件路径
socket=/www/news/script/uwsgi.sock
# 进程个数
workers=5
pidfile=/www/news/script/uwsgi.pid
# 指定IP端口
http=127.0.0.1:8000
# 指定静态文件
static-map=/static=/www/news/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/news/script/uwsgi.log
学习链接:https://cloud.tencent.com/developer/article/1372693
2、重启服务
找到uwsgi的配置文件:
cat uwsgi.cfg
ps -ef | grep uwsgi 发现uwsgi的主进程pid和pid文件里的id是一样的
先停止uwsgi服务 : uwsgi --stop /var/uwsgi.pid
再重启服务 : uwsgi --ini /var/uwsgi.cfg
重启成功,在通过 cat /var/uwsgi.pid 和 ps -ef | grep uwsgi 检查一下 uwsgi 的pid是否一致
注: uwsgi --reload /var/uwsgi.pid 可以重新装载uwsgi
3、重启失败
假设uwsgi.cfg目录在/vipkid/dbrestore_api下
可以看到执行重启命令后还是没有启动,这时区看uwsgi.log查找原因,log目录可以去uwsgi.cfg查看
有这样一个报错,把 "/vipkid/dbrestore_api #让nginx代理哪个项目就写那个项目路径" 包括注释都当成了一个目录,所以把配置文件里的注释都删掉了之后再去重启,就成功了。