Obecnie mam Nginx zainstalowany zgodnie z instrukcjami na stronie Nginx:
nginx=stable
sudo su -
add-apt-repository ppa:nginx/$nginx
apt-get update
apt-get install
Skonfigurowałem Nginx i od jakiegoś czasu działa świetnie. Teraz chcę dodać niestandardowe moduły - powiedzmy moduł wysyłania postępów . Instrukcje dla tego modułu mówią, aby dodać --add-module=path/to/nginx_uploadprogress_module
do ./configure
polecenia. Jednak nie zainstalowałem Nginx ze źródła.
Jak najlepiej poradzić sobie z tą sytuacją? Czy można powiedzieć APT, aby skompilował ze źródeł i przekazał opcje ./configure
? Czy mogę skompilować na podstawie istniejącej instalacji? Co ze ścieżkami - jak je dopasować? Czy też muszę usunąć wersję zarządzaną przez APT i zacząć od nowa?
nginx
apt
package-management
Michelle Tilley
źródło
źródło
apt-cache search
?Odpowiedzi:
Zainstaluj dpkg-dev:
Dodaj repozytorium:
Edytuj
/etc/apt/sources.list.d/nginx-stable-lucid.list
, dodaj dpkg-src:Uwaga: (poprzedni krok mógł być już automatycznie wykonywany na Ubuntu> = 12.04 - upewnij się również, że zmieniłeś się,
lucid
aby odzwierciedlić swoją wersję)Ponownie zsynchronizuj pliki indeksu pakietu:
Uzyskaj źródła:
Kompiluj zależności:
Edytuj nginx-0.8.54 / debian / rules:
Pakiet kompilacji:
Zainstaluj pakiety:
źródło
sudo dpkg --install nginx-full_0.8.54-4ppa4~lucid_i386.deb
, otrzymujęnginx-full depends on nginx-common (= 0.8.54-4ppa4~lucid); however: Package nginx-common is not installed.
Jednaksudo dpkg --install nginx-common_0.8.54-4ppa4~lucid_all.deb
dajedpkg: error processing nginx-common_0.8.54-4ppa4~lucid_all.deb (--install): trying to overwrite '/usr/share/nginx/www/50x.html', which is also in package nginx 0:0.8.54-4ppa2~lucid
. Jak poleciłbyś rozwiązać ten problem?apt-get
/dpkg
, a także inne pakiety, które instalujesz za pośrednictwemapt-get
będą wiedzieć, żenginx
jest zainstalowany i nie poprosi o jego zainstalowanie. Jeśli zainstalowałeś go bezpośrednio ze źródła, nie dostaniesz tego.dpkg-buildpackage -uc -us
zamiastdpkg-buildpackage -b
. W przeciwnym razie pliki .deb nie zostaną utworzone.Od czasu ściśnięcia w Debianie i od czasu oneriki w Ubuntu, jest kilka (tak jak
headers-more-module
potrzebowałem) wźródło
Instalacja Nginx ze źródła jest konieczna, jeśli chcesz dodać do niego dodatkowe / (moduł innej firmy). Jeśli zostanie zainstalowany przez źródło, Nginx nie może być używany jako usługa, a Logrotate nie zostanie skonfigurowany dla Nginx. Postępuj zgodnie z tą metodą, aby zainstalować ją ze wszystkimi funkcjami, które otrzymujesz dzięki instalacji
apt-get
źródło
Słodki artykuł, który można przeczytać tutaj , wyjaśni szczegółowe informacje na temat kompilowania modułów w nginx. Zasadniczo musisz ponownie skompilować nginx za każdym razem, gdy chcesz zainstalować moduł.
Działa również podobna do tej metody .
źródło