将 uwsgi
设置为系统服务
我们运行 uwsgi --ini summary.ini
之后,按 ctrl+c
或者关闭 ssh 连接窗口,都会导致 uwsgi
进程关闭。 uwsgi
进程一关闭,.sock
文件就会消失,这时访问网站 Nginx 就会报错:
这时,我们需要进程管理软件管理 uwsgi
进程的运行了。Ubuntu 自带的 systemd 是最简单的方法,可以将我们的项目变为系统服务。首先创建 summary.service
文件 sudo vim /etc/systemd/system/summary.service
:
[Unit]
Description=uWSGI instance to serve summary
After=network.target
[Service]
User=lufficc
Group=www-data
WorkingDirectory=/your/path/summary
Environment=FLASKR_SETTINGS=/your/path/summary/env.cfg
ExecStart=/usr/local/bin/uwsgi --ini //your/path/summary/uwsgi.ini
[Install]
WantedBy=multi-user.target
WorkingDirectory
: 你的项目目录。Environment
:需要的环境变量,比如指明你的项目的配置文件ExecStart
:服务启动的代码WantedBy=multi-user.target
:指明会跟随系统启动而启动该服务。
注意以上所有路径为绝对路径
。
接下来可以愉快的启动了(myproject 就是 summary.service
文件名去掉扩展名):
sudo systemctl start summary
sudo systemctl restart summary
sudo systemctl stop summary