Bevor wir verstehen, was nginx ist, sollten wir wissen, wie man nginx ausspricht.
Es ist nicht N G I N X. nginx wird als „Engine X“ ausgesprochen.
nginx ist die Kurzform, nachdem Sie beide e aus „Engine X“ entfernt haben.
nginx ist ein Open-Source-Webserver, der Apache ähnelt, aber sehr leicht ist. nginx ist sowohl ein Webserver als auch ein Reverse-Proxy-Server.
Im Folgenden sind einige der Funktionen von nginx aufgeführt:
- Es bedient statische und Indexdateien
- Reverse-Proxy mit Caching
- Unterstützt SSL
- Einfacher Lastenausgleich mit Fehlertoleranz
- Sowohl namensbasierte als auch IP-basierte virtuelle Server können konfiguriert werden
- Basis-HTTP-Authentifizierung
- Unterstützt das Rewrite-Modul
- Unterstützt gzip, XSLT, SSI und Bildgrößenanpassungsfilter
- Alle Hauptfunktionen des Mail-Proxy-Servers werden unterstützt
- und vieles mehr...
Dies ist Teil einer fortlaufenden Artikelserie über nginx.
Beginnen wir mit der Installation von nginx und bringen es zum Laufen, was nur 5 Minuten dauert.
1. Laden Sie nginx herunter
Laden Sie nginx von hier herunter oder verwenden Sie wget wie unten gezeigt. Die aktuelle stabile Version ist nginx 1.0.5
cd wget http://nginx.org/download/nginx-1.0.5.tar.gz tar xvfz nginx-1.0.5.tar.gz cd nginx-1.0.5
2. Installieren Sie nginx
Es gibt viele Optionen, die Sie an ./configure übergeben können. Gehen Sie wie folgt vor, um die Liste aller Konfigurationsoptionen zu identifizieren.
./configure --help
Im Folgenden sind einige der HTTP-Module aufgeführt, die automatisch aktiviert werden. Wenn Sie sie deaktivieren müssen, sollten Sie „–ohne-http_[Modulname]“ an die Option ./configure übergeben. Um beispielsweise „proxy_module“ zu deaktivieren, sollten Sie Folgendes tun:./configure – without-http_proxy_module.
- charset_module – HTTP-Zeichensatzmodul
- gzip_module – HTTP gzip-Modul zur Komprimierung
- ssi_module – Serverseitige Include-Module
- auth_basic_module – HTTP Basic-Authentifizierungsmodule.
- autoindex_module – Automatischer Index
- rewrite_module – HTTP-Umschreibung, die Umschreibungsregeln unterstützt
- proxy_module – HTTP-Reverse-Proxy-Modul
- fastcgi_module – Unterstützung für fastcgi
- memcached_module – Memcached-Modul für nginx
- ..
Im Folgenden sind einige der httpd-Module aufgeführt, die nicht automatisch aktiviert werden. Wenn Sie sie aktivieren müssen, sollten Sie „–with-http_[Modulname]“ an die Option ./configure übergeben. Um beispielsweise SSL in nginx zu aktivieren, sollten Sie „./configure –with-http_ssl_module“ ausführen.
- ssl_module – Unterstützung für das Secure Socket Layer (SSL)-Modul
- xslt_module – Unterstützung für das XSLT-Modul (Extensible Stylesheet Language Transformations)
- perl_module – Unterstützung für Perl
- ..
Installieren Sie zunächst nginx mit den Standardkonfigurationsoptionen, indem Sie ./configure wie unten gezeigt ausführen.
./configure make make install
Während ./configure erhalten Sie möglicherweise den Fehler „./configure:error:the HTTP rewrite module require the PCRE library.“ Fehlermeldung über fehlende PCRE-Bibliothek, die vom nginx-HTTP-Rewrite-Modul benötigt wird.
Um das Problem zu lösen, installieren Sie entweder die Pakete „pcre“ und „pcre-devel“ auf Ihrem Linux oder deaktivieren Sie das Rewrite-Modul, indem Sie „./configure – without-http_rewrite_module“
ausführennginx wird unter /usr/local/nginx installiert, wie in der ./configure-Ausgabe gezeigt.
Configuration summary + using system PCRE library + OpenSSL library is not used + md5: using system crypto library + sha1: using system crypto library + using system zlib library nginx path prefix: "/usr/local/nginx" nginx binary file: "/usr/local/nginx/sbin/nginx" nginx configuration prefix: "/usr/local/nginx/conf" nginx configuration file: "/usr/local/nginx/conf/nginx.conf" nginx pid file: "/usr/local/nginx/logs/nginx.pid" nginx error log file: "/usr/local/nginx/logs/error.log" nginx http access log file: "/usr/local/nginx/logs/access.log" nginx http client request body temporary files: "client_body_temp" nginx http proxy temporary files: "proxy_temp" nginx http fastcgi temporary files: "fastcgi_temp" nginx http uwsgi temporary files: "uwsgi_temp" nginx http scgi temporary files: "scgi_temp"
3. Ändern Sie den standardmäßigen nginx-Abhörport
Nginx ist so konfiguriert, dass es standardmäßig auf Port 80 lauscht. Wenn Sie dies zu Testzwecken auf einer Maschine installieren, auf der bereits ein Apache-Server läuft, sollten Sie den nginx-Listener-Port ändern.
Ähnlich wie bei der httpd.conf-Datei von Apache befindet sich bei nginx die Datei nginx.conf unter /usr/local/nginx/conf.
Ändern Sie im Serverabschnitt von nginx.conf den Port 80 auf 8081.
# vi /usr/local/nginx/conf/nginx.conf server { listen 8081; server_name localhost;
4. Starten Sie den Nginx-Server
Die ausführbare nginx-Datei befindet sich im Verzeichnis /usr/local/nginx/sbin. Rufen Sie einfach diese ausführbare Datei auf, um den Nginx-Server zu starten.
cd /usr/local/nginx/sbin ./nginx
Sobald Sie dies starten, sehen Sie den „Master-Prozess“ und den „Worker-Prozess“ von nginx, wenn Sie ps.
ausführen# ps -ef | grep -i nginx root 18596 13:16 nginx: master process ./nginx nobody 18597 13:16 nginx: worker process
Nachdem Sie den nginx-Server gestartet haben, gehen Sie zu http://your-ip-address/ (oder http://your-ip-address:8081, wenn Sie die Listen-Direktive in nginx.conf geändert haben), Sie sollten die Standardeinstellung sehen nginx index.html, die „Willkommen bei nginx!“ heißen sollte
5. Beenden Sie den Nginx-Server
Gehen Sie wie folgt vor, um den Nginx-Server zu stoppen.
cd /usr/local/nginx/sbin ./nginx -s stop
Gehen Sie wie folgt vor, um die aktuelle Version von nginx anzuzeigen:
# ./nginx -v nginx: nginx version: nginx/1.0.5
Sehen Sie sich zum Debuggen von Problemen die Dateien error.log und access.log an, die sich unter /usr/local/nginx/logs
befinden# ls /usr/local/nginx/logs/ access.log error.log nginx.pid