我运行的是Fedora16 32位,我用nginx安装了passenger (选项1在安装过程中,一切都为我处理)。安装正常,但nginx没有注册为服务。
我可以运行它的唯一方法是直接通过/opt/nginx/sbin/nginx。不可能通过/etc/init.d/nginx运行它
有没有办法把它注册为服务?
发布于 2012-05-06 01:49:35
创建包含以下内容的文件/etc/systemd/system/nginx.service:
[Unit]
Description=Nginx
After=syslog.target network.target
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
[Install]
WantedBy=multi-user.target在此之后,您可以使用以下命令进行控制:
sudo systemctl stop|start|restart nginx.service或
sudo service nginx stop|start|restart要使nginx在引导时启动,可以运行sudo systemctl enable nginx.service。
发布于 2014-05-22 14:14:25
我写了下面的"hack“。安装了新编译的带有乘客支持的nginx,检查了从命令行启动时是否正常运行,然后安装了带有sudo yum install nginx的nginx (它是CentOS)。
最后,我在/etc文件夹中搜索*nginx*文件,并将那里的/usr/sbin/nginx替换为/opt/nginx/sbin/nginx。然后重新启动机器,并能够使用sudo service nginx start启动nginx。
当然,有一种更优雅的方法可以做到这一点,但我懒于研究如何在每个Linux发行版中注册服务。
我还在那里替换了下面的路径
nginx.confnginx.pid (${prog}.pid) -否则将无法停止nginxhttps://stackoverflow.com/questions/9782895
复制相似问题