我在Ubuntu 14.04下运行Nginx Web服务器。
最近,我从Phusion Passenger导入了存储库以运行GitLab,而我的来自Launchpad的Nginx被新存储库中的Nginx取代。 (我用我自己的Nginx和Apache而不是嵌入式服务器运行GitLab。)
frederick@Ubuntu:~$ sudo apt-cache showpkg nginx | head -n3
Package: nginx
Versions:
1:1.8.0-8.5.0.15~trusty1 (/var/lib/apt/lists/oss-binaries.phusionpassenger.com_apt_passenger_dists_trusty_main_binary-amd64_Packages) (/var/lib/dpkg/status)
然后奇怪的事情开始了。每次重新启动计算机后,sudo service nginx xxxx
都会失效。但是,如果我使用/etc/init.d/nginx
,它就像魅力一样。
frederick@Ubuntu:~$ sudo service nginx status
nginx stop/waiting
frederick@Ubuntu:~$ sudo /etc/init.d/nginx status
* nginx is running
frederick@Ubuntu:~$ sudo service nginx reload
reload: Unknown instance:
frederick@Ubuntu:~$ cat /run/nginx.pid
3389
frederick@Ubuntu:~$ ps aux | grep [n]ginx
root 3389 0.0 0.7 158636 15404 ? Ss 15:11 0:00 nginx: master process /usr/sbin/nginx
www-data 4713 0.0 0.4 158636 8824 ? S 15:36 0:00 nginx: worker process
www-data 4714 0.0 0.4 158636 8824 ? S 15:36 0:00 nginx: worker process
www-data 4715 0.0 0.4 158636 8824 ? S 15:36 0:00 nginx: worker process
www-data 4716 0.0 0.4 158636 8824 ? S 15:36 0:00 nginx: worker process
似乎service
命令没有运行/etc/init.d/nginx
的脚本。我必须运行sudo nginx -s stop && sudo service nginx start
才能再次启用它。
我现在真的很困惑。请帮助,谢谢。
更新
来自Launchpad的/etc/init.d/nginx:https://goo.gl/cEHtf7
来自Passenger(现在)的/etc/init.d/nginx:https://goo.gl/Ig1az5
/etc/init/nginx.conf是相同的:https://goo.gl/aq1dUv
答案 0 :(得分:4)
我删除了execve
,现在没问题了。
似乎Launchpad Nginx官方的软件包正在使用System V init脚本,而Passenger存储库中的软件包正在使用Upstart。
也许我应该完全转向Upstart。