将CentOS 6的systemd脚本转换为.init脚本

时间:2018-08-13 12:32:30

标签: shell server scripting centos systemd

我对shell脚本的理解不是很好,不是很好,我的意思是我根本不知道。

我需要将此systemd单位文件转换为.init脚本,这是为了设置nginx和uwsgi来提供Web应用程序。

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

[Service]
User=user
Group=nginx
WorkingDirectory=/home/user/myproject
Environment="PATH=/home/user/myproject/myprojectenv/bin"
ExecStart=/home/user/myproject/myprojectenv/bin/uwsgi --ini myproject.ini

[Install]
WantedBy=multi-user.target

CentOS 6不支持systemd,请提供帮助。

1 个答案:

答案 0 :(得分:0)

在不支持systemd的系统中,您可以使用其他supervisors,例如,如果需要可移植的东西并且还与macOS / BSD兼容,则可以使用immortal

这是一个基本的run.yml,可以开始uwsgi

cmd: /home/user/myproject/myprojectenv/bin/uwsgi --ini myproject.ini
cwd: /home/user/myproject/myprojectenv
log:
    file: /var/log/my-project.log

您还可以从文档/etc/init/uwsgi.conf中检查uWSGI examples,例如:

# simple uWSGI script

description "uwsgi tiny instance"
start on runlevel [2345]
stop on runlevel [06]

respawn

exec uwsgi --master --processes 4 --die-on-term --socket :3031 --wsgi-file /var/www/myapp.wsgi

在这种情况下,正在使用Upstart,请检查以下答案:https://serverfault.com/a/292000/94862