![为什么我新创建的软件包无法正确安装?我创建了冲突吗?](https://linux22.com/image/527503/%E4%B8%BA%E4%BB%80%E4%B9%88%E6%88%91%E6%96%B0%E5%88%9B%E5%BB%BA%E7%9A%84%E8%BD%AF%E4%BB%B6%E5%8C%85%E6%97%A0%E6%B3%95%E6%AD%A3%E7%A1%AE%E5%AE%89%E8%A3%85%EF%BC%9F%E6%88%91%E5%88%9B%E5%BB%BA%E4%BA%86%E5%86%B2%E7%AA%81%E5%90%97%EF%BC%9F.png)
我使用的是 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