Django

centos将uwsgi添加为系统服务

2018-08-09  本文已影响441人  静默加载

在我们运行或者调试uwsgi的时候:

uwsgi --socket 0.0.0.0:5000 --protocol=http -w myproject:app
uwsgi --ini myproject.ini

如果Ctrl+C或者退出ssh链接,都会导致uwsgin进程关闭。
这时,我们需要进程管理软件管理 uwsgi 进程的运行了。Ubuntu 自带的 systemd 是最简单的方法,可以将我们的项目变为系统服务。首先创建 myproject.service 文件 sudo vim /etc/systemd/system/myproject.service

[Unit]
Description=uWSGI instance to serve myproject
After=network.target

[Service]
[Unit]
Description=uWSGI instance to serve myproject
After=network.target

[Service]
WorkingDirectory=/root/PythonWorkSpace/myproject
ExecStart=/usr/bin/uwsgi --ini /root/PythonWorkSpace/myproject/uwsgi.ini
ExecStop=/usr/bin/uwsgi --stop /root/PythonWorkSpace/myproject/uwsgi.pid
ExecReload=/usr/bin/uwsgi --reload /root/PythonWorkSpace/myproject/uwsgi.pid
[Install]
WantedBy=multi-user.target
  • [Unit]部分主要是对这个服务的说明,内容包括Description和After,Description用于描述服务,After用于描述服务类别
  • [Service]部分是服务的关键,是服务的一些具体运行参数的设置
  • 注意以上所有路径为绝对路径。

接下来可以愉快的启动了(myproject 就是 myproject.service 文件名去掉扩展名):

systemctl start myproject.service
systemctl reload myproject.service
systemctl stop myproject.service
  • 一个自己遇到坑
    uwsgi的路径必须是自己编译是的venv环境下的uwsgi,要不然启动之后找不到Flask项目中的依赖包。

参考:
管理uWSGI服务器

文章到这里就全部讲述完啦,若有其他需要交流的可以留言哦

想阅读作者的更多文章,可以查看我 个人博客 和公共号:

振兴书城
上一篇 下一篇

猜你喜欢

热点阅读