将nginx添加为ubuntu服务停止并重新加载';行不通

将nginx添加为ubuntu服务停止并重新加载';行不通,nginx,init.d,Nginx,Init.d,我的nginx是从源代码处编译的,只给出--conf path=/etc/nginx/nginx.conf 一切正常,我尝试使用service init.d脚本将nginx作为一个系统服务 以下是我只做了2个小改动的脚本: 1. DAEMON=/usr/local/nginx/sbin/nginx 2.NGINX_CONF_FILE="/etc/nginx/nginx.conf" 然后sudo服务nginx启动 它起作用了 yozloy@SNDA-172-17-10-158:/usr/loc

我的nginx是从源代码处编译的,只给出
--conf path=/etc/nginx/nginx.conf

一切正常,我尝试使用service init.d脚本将nginx作为一个系统服务

以下是我只做了2个小改动的脚本:

1. DAEMON=/usr/local/nginx/sbin/nginx

2.NGINX_CONF_FILE="/etc/nginx/nginx.conf"
然后sudo服务nginx启动

它起作用了

yozloy@SNDA-172-17-10-158:/usr/local$ sudo service nginx start
 * Starting Nginx Server...
   ...done

但服务nginx停止,服务nginx重新加载

给我一个错误

yozloy@SNDA-172-17-10-158:/usr/local$ sudo service nginx stop
 * Stopping Nginx Server...
   ...fail!

这个错误没有出现在log/error.log文件中

我在Ubuntu 12.04上的Nginx也遇到过类似的问题,Nginx从源代码编译,init脚本从与您类似的源代码获取

服务使用init文件启动得很好,但停止或重新启动都不行。 最终,原因是nginx.conf和init脚本中pid文件的路径不同。
确保它们都指向同一个位置。

谢谢你的回答。我已经等了很长时间了。你能解释更多细节让它们指向同一个位置吗?@yozloy在nginx.conf文件中,你可以找到“pid/tmp/nginx.pid”行;你应该使用该目录,并为初始化脚本中的每个操作更改pid文件的初始化脚本位置。对于停止/重新启动间歇性失败的情况(通常会删除PID文件,但包括master在内的进程不会消亡),请参阅。