2012-03-02 38 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