2012-03-02 75 views
6

我最初通过apt-get安装安装了nginx。它工作得很好。现在,我想安装一些第三方模块,我必须重新编译nginx。所以我试图重新编译。它通过了动议,然后我意识到我的原始版本仍然是被使用的版本。使用apt-get安装后重新编译nginx nginx

是否需要先卸载我的nginx原始副本才能让其他人正确安装?

我国旗的安装: --conf路径=的/ etc/nginx的/ nginx.conf --error日志路径= /无功/日志/ nginx的/ error.log中--pid路径=/var/run/nginx.pid --lock-path =/var/lock/nginx.lock --http-log-path =/var/log/nginx/access.log --http-client-body-temp -path =/var/lib/nginx/body --http-proxy-temp-path =/var/lib/nginx/proxy --http -fastcgi-temp-path =/var/lib/nginx/fastcgi --with -debug --with-http_stub_status_module --with-http_flv_module --with-http_ssl_module --with-http_dav_module --with-http_gzip_static_module --with-http_realip_module --with-mail --with-mail_ssl_module --with-ipv6 --add -module =/usr/src/gnosek -nginx-upstream-fair-5f6a3b7 --add-module =/usr/src/mod_strip

回答

1

你应该不需要首先卸载apt-get版本,但这是一个好主意,以便您不会在未来通过“apt-get update”或类似的系统更新无意中走过自定义的重新编译。

有几个原因可能导致您的重新编译无法工作。安装程序是否具有覆盖现有文件的正确权限? .configure将编译后的二进制文件放置在apt-get的相同位置? (--sbin-path = /你想要它安装在.configure上,如果不是/ sbin/nginx)nginx是否在重新编译时运行?安装程序可能无法覆盖打开的文件。 (你已经重新启动了nginx,对不对?)也许别的东西,但那是我开始寻找的地方。

+0

我当时正在运行nginx。我从那以后重新启动了它。实际上我不确定apt-get的sbin-path是什么,我该如何检查?我如何授予安装程序权限? – Kristian 2012-03-02 19:10:24

+0

您可以使用'whereis nginx'来查找当前二进制文件的存在位置(但除非有更改,否则可能是/ sbin/nginx)。安装程序的权限取决于哪个用户正在运行构建以及谁拥有安装的二进制文件。如果两者都是相同的,那就没有关系。在大多数情况下使用sudo应该足够了。 – 2012-03-02 19:20:27

+0

啊,它的确位于/ usr/sbin/nginx中。我也是根。 – Kristian 2012-03-02 19:38:04