Prima di capire cos'è nginx, dovremmo sapere come pronunciare nginx.
Non è N G I N X. nginx è pronunciato come "Engine X".
nginx è una forma abbreviata dopo aver rimosso entrambe le e da "Engine X".
nginx è un server web open source simile ad Apache, ma molto leggero. nginx è sia server web che server proxy inverso.
Le seguenti sono alcune delle caratteristiche di nginx:
- Offre file statici e di indice
- Proxy inverso con memorizzazione nella cache
- Supporta SSL
- Semplice bilanciamento del carico con tolleranza agli errori
- È possibile configurare sia il server virtuale basato sul nome che quello basato su IP
- Autenticazione di base HTTP
- Supporta il modulo di riscrittura
- Supporta gzip, XSLT, SSI e filtri di ridimensionamento delle immagini
- Sono supportate tutte le principali funzionalità del server proxy di posta
- e molto altro ancora..
Questo fa parte di una serie in corso di articoli su nginx.
Iniziamo installando nginx e mettiamolo in funzione, che richiede solo 5 minuti.
1. Scarica nginx
Scarica nginx da qui o usa wget come mostrato di seguito. L'attuale versione stabile è 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. Installa nginx
Ci sono molte opzioni che puoi passare a ./configure. Per identificare l'elenco di tutte le opzioni di configurazione, procedi come segue.
./configure --help
Di seguito sono riportati alcuni dei moduli http abilitati automaticamente. Se hai bisogno di disabilitarli, dovresti passare “–without-http_[nome_modulo]” all'opzione ./configure. Ad esempio, per disabilitare "proxy_module", dovresti fare ./configure –without-http_proxy_module.
- charset_module – Modulo del set di caratteri HTTP
- gzip_module – Modulo HTTP gzip per la compressione
- ssi_module – Moduli inclusi lato server
- auth_basic_module – Moduli di autenticazione HTTP di base.
- autoindex_module – Indice automatico
- rewrite_module – Riscrittura HTTP che supporta le regole di riscrittura
- modulo_proxy – Modulo proxy inverso HTTP
- fastcgi_module – Supporto per fastcgi
- memcached_module – Modulo memcached per nginx
- ..
Di seguito sono riportati alcuni dei moduli httpd che non sono abilitati automaticamente. Se è necessario abilitarli, è necessario passare "–with-http_[nome_modulo]" all'opzione ./configure. Ad esempio, per abilitare SSL in nginx, dovresti fare “./configure –with-http_ssl_module”.
- ssl_module – Supporto per il modulo Secure Socket Layer (SSL)
- xslt_module – Supporto per il modulo XSLT (Extensible Stylesheet Language Transformations)
- perl_module – Supporto per Perl
- ..
Per cominciare, installa nginx con le opzioni di configurazione predefinite eseguendo ./configure come mostrato di seguito.
./configure make make install
Durante ./configure, potresti ricevere "./configure:errore:il modulo di riscrittura HTTP richiede la libreria PCRE". messaggio di errore sulla libreria PCRE mancante richiesta dal modulo di riscrittura http di nginx.
Per risolvere il problema, installa i pacchetti "pcre" e "pcre-devel" sul tuo Linux, oppure disabilita il modulo di riscrittura eseguendo "./configure –without-http_rewrite_module"
nginx verrà installato in /usr/local/nginx come mostrato dall'output ./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. Modifica la porta di ascolto nginx predefinita
Nginx è configurato per l'ascolto per impostazione predefinita sulla porta 80. Se lo stai installando su una macchina a scopo di test, che ha già un server Apache in esecuzione, dovresti cambiare la porta di ascolto di nginx.
Simile al file httpd.conf di Apache, nginx ha il file nginx.conf che si trova in /usr/local/nginx/conf.
Nella sezione server di nginx.conf, cambia la porta 80 in 8081.
# vi /usr/local/nginx/conf/nginx.conf server { listen 8081; server_name localhost;
4. Avvia il server Nginx
L'eseguibile nginx si trova nella directory /usr/local/nginx/sbin. Basta chiamare questo eseguibile per avviare il server nginx.
cd /usr/local/nginx/sbin ./nginx
Una volta avviato, vedrai il "processo principale" e il "processo di lavoro" di nginx se lo fai ps.
# ps -ef | grep -i nginx root 18596 13:16 nginx: master process ./nginx nobody 18597 13:16 nginx: worker process
Dopo aver avviato il server nginx, vai su http://your-ip-address/ (o http://your-ip-address:8081, se hai modificato la direttiva listen in nginx.conf), dovresti vedere l'impostazione predefinita nginx index.html, che dovrebbe dire "Benvenuto in nginx!"
5. Arresta il server Nginx
Per arrestare il server nginx, procedi come segue.
cd /usr/local/nginx/sbin ./nginx -s stop
Per visualizzare la versione corrente di nginx, procedi come segue:
# ./nginx -v nginx: nginx version: nginx/1.0.5
Per eseguire il debug dei problemi, visualizza i file error.log e access.log che si trovano in /usr/local/nginx/logs
# ls /usr/local/nginx/logs/ access.log error.log nginx.pid