Nginx-Module unter Linux hinzufügen
Nginx mit zusätzlichen Modulen unter Debian, Ubuntu und CentOS neu kompilieren.
Bei der Installation von nginx über den Paketmanager des Betriebssystems lassen sich Module weder hinzufügen noch entfernen — nginx wird mit einer festen Build-Konfiguration geliefert. Um ein eigenes Modul einzubinden, muss nginx manuell aus dem Quellcode neu kompiliert werden.
Schritt 1. Aktuelle nginx-Konfiguration abrufen
Führen Sie den folgenden Befehl aus und speichern Sie die Ausgabe in einem Texteditor — Sie benötigen sie beim Configure-Schritt:
nginx -V
Beispielausgabe:
nginx version: nginx/1.12.1
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC)
configure arguments: --prefix=/etc/nginx --conf-path=/etc/nginx/nginx.conf
--error-log-path=/var/log/nginx/error.log ...
In diesem Beispiel ist Version 1.12.1 installiert — laden Sie im nächsten Schritt dieselbe Version herunter.
Schritt 2. nginx-Quellcode herunterladen
wget http://nginx.org/download/nginx-1.12.1.tar.gz
Entpacken Sie das Archiv und wechseln Sie in das Quellverzeichnis:
tar -xvf nginx-1.12.1.tar.gz
cd nginx-1.12.1
Schritt 3. Das PageSpeed-Modul installieren
bash <(curl -f -L -sS https://ngxpagespeed.com/install) \
--nginx-version $nginxversion
Alle Module speichern:
bash <(curl -f -L -sS https://ngxpagespeed.com/install) -m
Schritt 4. nginx mit dem neuen Modul konfigurieren
Kopieren Sie aus der gespeicherten nginx -V-Ausgabe die Configure-Argumente ab --prefix= bis (ausschließlich) zum ersten --add-module= — bereits vorhandene --add-module=-Einträge werden nicht benötigt.
Führen Sie ./configure mit diesen Argumenten aus und hängen Sie am Ende --add-dynamic-module=/root/incubator-pagespeed-ngx-latest-stable an:
./configure --prefix=/etc/nginx --conf-path=/etc/nginx/nginx.conf \
--error-log-path=/var/log/nginx/error.log \
--http-client-body-temp-path=/var/lib/nginx/body \
--http-fastcgi-temp-path=/var/lib/nginx/fastcgi \
--http-log-path=/var/log/nginx/access.log \
--http-proxy-temp-path=/var/lib/nginx/proxy \
--lock-path=/var/lock/nginx.lock \
--pid-path=/var/run/nginx.pid \
--with-pcre-jit --with-http_gzip_static_module \
--with-http_ssl_module --with-ipv6 \
--without-http_browser_module --with-http_geoip_module \
--without-http_memcached_module --without-http_referer_module \
--without-http_scgi_module --without-http_split_clients_module \
--with-http_stub_status_module --without-http_ssi_module \
--without-http_userid_module --without-http_uwsgi_module \
--add-dynamic-module=/root/incubator-pagespeed-ngx-latest-stable
Unsere Produkte und Dienste
Schritt 5. nginx kompilieren
make
make install
Nach dem Build überprüfen Sie, ob das neue Modul vorhanden ist:
/etc/nginx/sbin/nginx -V
Die Ausgabe sollte --add-dynamic-module=/root/incubator-pagespeed-ngx-latest-stable enthalten.
Schritt 6. Die nginx-Binärdatei ersetzen
nginx stoppen:
service nginx stop
Aktuelle Binärdatei als Fallback umbenennen:
mv /usr/sbin/nginx /usr/sbin/nginx_back
Die neu kompilierte Binärdatei an die richtige Stelle verschieben:
mv /etc/nginx/sbin/nginx /usr/sbin/nginx
Das nun überflüssige Verzeichnis entfernen:
rm -rf /etc/nginx/sbin
Überprüfen, ob die neue Binärdatei verwendet wird:
nginx -V
Die Ausgabe sollte --add-dynamic-module=/root/incubator-pagespeed-ngx-latest-stable enthalten.
nginx starten:
service nginx start
Quellverzeichnis bereinigen:
cd ../
rm -rf nginx-1.12.1
Hilfe
Bei Fragen oder wenn Sie Unterstützung brauchen, erreichen Sie uns jederzeit über das Ticketsystem — wir helfen Ihnen gern weiter!