为什么我新创建的软件包无法正确安装?我创建了冲突吗?

为什么我新创建的软件包无法正确安装?我创建了冲突吗?

我使用的是 Debian Lenny,并且安装了 lenny-backports 的 nginx 0.7.65。我需要该uwsgi模块,因此我添加了deb-srclenny-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

  1. 测试测试配置

    $ sudo nginx -t

  2. 尝试在没有 /etc/init.d/nginx 的情况下运行 nginx

    $sudo nginx

  3. 阅读日志:

    $sudo tail -n 100 /var/log/syslog

相关内容