我使用的是 Debian Lenny,并且安装了 lenny-backports 的 nginx 0.7.65。我需要该uwsgi
模块,因此我添加了deb-src
lenny-backports 并执行了apt-get source nginx
。这获取了 0.7.67-3。
我严格遵循了以下指南:http://brandonkonkle.com/blog/2010/sep/14/django-uwsgi-and-nginx/然后根据说明执行 dpkg -i nginx*.deb。
它似乎并没有取代 0.7.65,因为我得到了这个:
(Reading database ... 27253 files and directories currently installed.)
Preparing to replace nginx 0.7.67-3~bpo50+1 (using nginx_0.7.67-3~bpo50+1_i386.deb) ...
Unpacking replacement nginx ...
Preparing to replace nginx-dbg 0.7.67-3~bpo50+1 (using nginx-dbg_0.7.67-3~bpo50+1_i386.deb) ...
Unpacking replacement nginx-dbg ...
Setting up nginx (0.7.67-3~bpo50+1) ...
Trying a soft restart
Processing triggers for man-db ...
Setting up nginx-dbg (0.7.67-3~bpo50+1) ...
而且,如果我尝试/etc/init.d/nginx stop
重新开始,它不会服从。我想我可能引起了某种冲突?
应该dpkg -i
安装 0.7.67,我在执行 dpkg-buildpackage 后得到了 2 个 deb 文件:nginx_0.7.67-3~bpo50+1_i386.deb 和 nginx-dbg_0.7.67-3~bpo50+1_i386.deb
我哪里做错了?有人能解释一下为什么 nginx 现在根本不听使唤吗?我无法停止或启动它。如果我进入,aptitude
它会告诉我 0.7.67 是已安装的版本。
答案1
我记得前段时间 debian 打包时出现过一个问题,他们更改了 pid 位置。也可能是你更改了共享库,导致现有 nginx 无法在新重定位的地址中找到代码。你可以这样做:
sh -x /etc/init.d/nginx stop
看看 start-stop-daemon 之后的行上有什么错误
最坏的情况是,找到 nginx 的 pid 并执行 kill (或者如果它卡住了,则 kill -9)
此时您应该能够正常重启 nginx。
答案2
测试测试配置
$ sudo nginx -t
尝试在没有 /etc/init.d/nginx 的情况下运行 nginx
$sudo nginx
阅读日志:
$sudo tail -n 100 /var/log/syslog