在 Ubuntu 上使用 uWSGI 和 Nginx 部署项目 自动启动uwsgi

将 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

你可能感兴趣的:(django)