2012-03-02 11 views
6

Pierwotnie zainstalowałem nginx przez apt-get install. Działa dobrze. Teraz chcę zainstalować niektóre moduły stron trzecich i muszę ponownie skompilować nginx. Więc próbowałem przekompilować. Wykonał ruchy i wtedy uświadomiłem sobie, że moja pierwotna wersja była wciąż tą, która była używana.Ponowna kompilacja nginx po użyciu apt-get install nginx

Czy muszę najpierw odinstalować swoją oryginalną kopię oprogramowania nginx, aby druga mogła poprawnie zainstalować?

moje flagi dla instalacji: --conf-path =/etc/nginx/nginx.conf --error-log-path =/var/log/nginx/error.log --pid-path =/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

Odpowiedz

1

Nie powinieneś potrzebować aby najpierw odinstalować wersję apt-get, ale jest to dobry pomysł, aby nie przechytrzyć niestandardowej rekompilacji za pomocą "aktualizacji apt-get" lub podobnej aktualizacji systemu w przyszłości.

Istnieje kilka powodów, dla których ponowna kompilacja mogła nie zadziałać. Czy instalator ma odpowiednie uprawnienia do nadpisania istniejącego pliku? Czy .configure umieszcza skompilowany plik binarny w tym samym miejscu co apt-get? (--sbin-path =/where-you-want-it-installed na .configure, jeśli nie/sbin/nginx) Czy nginx działał podczas ponownej kompilacji? Instalator może nie być w stanie nadpisać otwartego pliku. (Ponownie uruchomiłeś Nginx, prawda?) Może coś jeszcze, ale właśnie tam zacznę szukać.

+0

Zdecydowanie byłem uruchomiony nginx w tym czasie. od tego czasu uruchomiłem go kilka razy. W rzeczywistości nie jestem pewien, jaka była ścieżka sbin dla apt-get, jak mogę to sprawdzić? Jak mogę przyznać uprawnienia instalatorowi? – Kristian

+0

Możesz użyć 'whereis nginx', aby znaleźć miejsce, w którym aktualnie żyje plik binarny (ale prawdopodobnie/sbin/nginx, chyba że coś się zmieniło). Uprawnienia instalatora zależą od tego, który użytkownik uruchomił kompilację i kto jest właścicielem zainstalowanego pliku binarnego. Jeśli obie są takie same, nie powinno to mieć znaczenia. W większości przypadków użycie sudo powinno wystarczyć. –

+0

ah, rzeczywiście znajduje się w/usr/sbin/nginx. także jestem rootem. – Kristian