Než pochopíme, co je nginx, měli bychom vědět, jak nginx vyslovit.
Není to N G I N X. nginx se vyslovuje jako „Engine X“.
nginx je krátký tvar poté, co odstraníte obě e z „Engine X“.
nginx je webový server s otevřeným zdrojovým kódem, který je podobný Apache, ale je velmi lehký. nginx je webový server i reverzní proxy server.
Některé z funkcí nginx jsou následující:
- Obsluhuje statické a indexové soubory
- Reverzní proxy s ukládáním do mezipaměti
- Podporuje protokol SSL
- Jednoduché vyvažování zátěže s odolností proti chybám
- Lze konfigurovat virtuální server založený na názvu i na adrese IP
- Základní ověřování HTTP
- Podporuje přepisovací modul
- Podporuje gzip, XSLT, SSI a filtry pro změnu velikosti obrázků
- Jsou podporovány všechny hlavní funkce poštovního proxy serveru
- a mnoho dalšího..
Toto je součást pokračující série článků o nginx.
Začněme instalací nginx a jeho uvedením do provozu, což zabere pouhých 5 minut.
1. Stáhněte si nginx
Stáhněte si nginx odtud nebo použijte wget, jak je uvedeno níže. Aktuální stabilní verze je 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. Nainstalujte nginx
Existuje mnoho možností, které můžete předat ./configure. Chcete-li identifikovat seznam všech možností konfigurace, proveďte následující.
./configure --help
Následují některé z http modulů, které jsou automaticky povoleny. Pokud je potřebujete zakázat, měli byste předat „–without-http_[jméno_modulu]“ volbě ./configure. Chcete-li například zakázat „proxy_module“, měli byste provést ./configure –without-http_proxy_module.
- charset_module – modul znakové sady HTTP
- gzip_module – modul HTTP gzip pro kompresi
- ssi_module – moduly na straně serveru
- auth_basic_module – moduly základního ověřování HTTP.
- autoindex_module – automatický index
- rewrite_module – přepis HTTP, který podporuje pravidla přepisu
- proxy_module – HTTP reverzní proxy modul
- fastcgi_module – podpora pro fastcgi
- memcached_module – modul Memcached pro nginx
- ...
Níže jsou uvedeny některé z modulů httpd, které nejsou automaticky povoleny. Pokud je potřebujete povolit, měli byste předat „–with-http_[jméno_modulu]“ volbě ./configure. Chcete-li například povolit SSL v nginx, měli byste udělat „./configure –with-http_ssl_module“.
- ssl_module – Podpora modulu Secure Socket Layer (SSL)
- xslt_module – podpora modulu XSLT (Extensible Stylesheet Language Transformations)
- perl_module – podpora pro Perl
- ...
Nejprve nainstalujte nginx s výchozími možnostmi konfigurace provedením ./configure, jak je uvedeno níže.
./configure make make install
Během ./configure se může zobrazit chyba "./configure::modul pro přepis HTTP vyžaduje knihovnu PCRE." chybová zpráva o chybějící knihovně PCRE, kterou vyžaduje modul nginx http rewrite.
Chcete-li problém vyřešit, buď nainstalujte balíčky „pcre“ a „pcre-devel“ na váš Linux, nebo deaktivujte modul pro přepis pomocí příkazu „./configure –without-http_rewrite_module“
nginx bude nainstalován pod /usr/local/nginx, jak ukazuje výstup ./configure.
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. Změňte výchozí port pro poslech nginx
Nginx je ve výchozím nastavení nakonfigurován tak, aby naslouchal na portu 80. Pokud jej instalujete na počítač pro testovací účely, na kterém již běží server Apache, měli byste změnit port pro naslouchání nginx.
Podobně jako soubor httpd.conf od Apache má nginx soubor nginx.conf umístěný v /usr/local/nginx/conf.
V sekci serveru nginx.conf změňte port 80 na 8081.
# vi /usr/local/nginx/conf/nginx.conf server { listen 8081; server_name localhost;
4. Spusťte Nginx Server
Spustitelný soubor nginx se nachází v adresáři /usr/local/nginx/sbin. Stačí zavolat tento spustitelný soubor a spustit server nginx.
cd /usr/local/nginx/sbin ./nginx
Jakmile to začnete, uvidíte nginx „hlavní proces“ a „pracovní proces“, pokud uděláte ps.
# ps -ef | grep -i nginx root 18596 13:16 nginx: master process ./nginx nobody 18597 13:16 nginx: worker process
Po spuštění serveru nginx přejděte na http://your-ip-address/ (nebo http://your-ip-address:8081, pokud jste změnili direktivu listen v nginx.conf), měli byste vidět výchozí nginx index.html, který by měl říkat „Vítejte v nginx!“
5. Zastavte server Nginx
Chcete-li zastavit server nginx, proveďte následující.
cd /usr/local/nginx/sbin ./nginx -s stop
Chcete-li zobrazit aktuální verzi nginx, postupujte takto:
# ./nginx -v nginx: nginx version: nginx/1.0.5
Chcete-li ladit problémy, prohlédněte si soubory error.log a access.log umístěné v /usr/local/nginx/logs
# ls /usr/local/nginx/logs/ access.log error.log nginx.pid