Il seguente articolo è tutto su come compilare e installare il velocissimo server HTTP noto come Nginx.
Allora, cos'è esattamente Nginx?
È un server HTTP leggero, gratuito, open source e ad alte prestazioni che, a differenza della maggior parte degli altri server HTTP, non si basa sulla gestione in thread delle richieste ma utilizza invece un'architettura (asincrona) basata su eventi molto più scalabile e robusta.
Questo utilizza una quantità di memoria molto piccola e prevedibile sotto carico pesante.
Ad ogni modo, se stai cercando istruzioni su come impostare e installare Nginx, PHP-FPM e MySQL (stack LNMP) in Debian 6 (Squeeze), leggi il nostro articolo su Come installare e configurare LEMP (Nginx, MySQL e PHP) su un VPS Debian 6 (squeeze)
Per questo tutorial stiamo usando uno dei nostri server virtuali Debian. Ok, la prima cosa da fare è assicurarsi che il nostro sistema Debian 7 (Wheezy) sia aggiornato:
# apt-get update # apt-get upgrade # apt-get dist-upgrade
Quindi, installa alcuni pacchetti necessari in modo da poter creare il nostro Nginx:
# apt-get install build-essential # apt-get install libpcre3 libpcre3-dev libpcrecpp0 libssl-dev zlib1g-dev
Procedi con il download e l'estrazione dei sorgenti Nginx da http://nginx.org/en/download.html
# mkdir ~/sources # cd ~/sources/ # wget http://nginx.org/download/nginx-1.4.0.tar.gz # tar zxf nginx-1.4.0.tar.gz # cd nginx-1.4.0
eseguire lo script "configura" per configurare i sorgenti. vedi `./configure –help` per maggiori informazioni su cosa puoi usare.
# ./configure \ --prefix=/usr \ --conf-path=/etc/nginx/nginx.conf \ --error-log-path=/var/log/nginx/error.log \ --http-log-path=/var/log/nginx/access.log \ --pid-path=/var/run/nginx.pid \ --lock-path=/var/lock/nginx.lock \ --with-http_ssl_module \ --user=www-data \ --group=www-data \ --with-http_stub_status_module \ --with-http_gzip_static_module \ --without-mail_pop3_module \ --without-mail_imap_module \ --without-mail_smtp_module
procedere con la compilazione e l'installazione di Nginx:
# make # make install
una volta completata l'installazione, aggiungi il seguente script di inizializzazione a /etc/init.d/nginx così puoi gestire la tua installazione di nginx:
#! /bin/sh ### BEGIN INIT INFO # Provides: nginx # Required-Start: $all # Required-Stop: $all # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: starts the nginx web server # Description: starts nginx using start-stop-daemon ### END INIT INFO PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin DAEMON=/usr/sbin/nginx NAME=nginx DESC=nginx test -x $DAEMON || exit 0 # Include nginx defaults if available if [ -f /etc/default/nginx ] ; then . /etc/default/nginx fi set -e . /lib/lsb/init-functions case "$1" in start) echo -n "Starting $DESC: " start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid \ --exec $DAEMON -- $DAEMON_OPTS || true echo "$NAME." ;; stop) echo -n "Stopping $DESC: " start-stop-daemon --stop --quiet --pidfile /var/run/$NAME.pid \ --exec $DAEMON || true echo "$NAME." ;; restart|force-reload) echo -n "Restarting $DESC: " start-stop-daemon --stop --quiet --pidfile \ /var/run/$NAME.pid --exec $DAEMON || true sleep 1 start-stop-daemon --start --quiet --pidfile \ /var/run/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS || true echo "$NAME." ;; reload) echo -n "Reloading $DESC configuration: " start-stop-daemon --stop --signal HUP --quiet --pidfile /var/run/$NAME.pid \ --exec $DAEMON || true echo "$NAME." ;; status) status_of_proc -p /var/run/$NAME.pid "$DAEMON" nginx && exit 0 || exit $? ;; *) N=/etc/init.d/$NAME echo "Usage: $N {start|stop|restart|reload|force-reload|status}" >&2 exit 1 ;; esac exit 0
rendi eseguibile lo script init e aggiungi Nginx alle applicazioni di avvio del tuo sistema:
# chmod +x /etc/init.d/nginx # update-rc.d -f nginx defaults
impostare Nginx:
# mkdir /etc/nginx/{sites-available,sites-enabled}
in /etc/nginx/nginx.conf aggiungi quanto segue:
user www-data; worker_processes 2; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; #log_format main '$remote_addr - $remote_user [$time_local] "$request" ' # '$status $body_bytes_sent "$http_referer" ' # '"$http_user_agent" "$http_x_forwarded_for"'; #access_log logs/access.log main; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; #gzip on; include /etc/nginx/sites-enabled/*; }
aggiungi il blocco del server in /etc/nginx/sites-available/example.com (assicurati di modificare eventuali occorrenze di esempio.com con il dominio desiderato).
server { listen 80; server_name example.com; location / { root /var/www/example.com; index index.html index.htm; } # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } }
abilita il blocco server che hai appena aggiunto:
# cd /etc/nginx/sites-enabled/ # ln -s /etc/nginx/sites-available/example.com
riavvia il tuo Nginx usando:
# service nginx restart
aggiungi una pagina di esempio e prova il tuo Nginx aprendo il dominio che hai utilizzato nel blocco server.
# mkdir -p /var/www/example.com # echo -e "<html>\n<head><title>NGINX</title></head>\n \ <body>\t<h1>Powered by RoseHosting.com</h1>\n</body>\n</html>" \ > /var/www/example.com/index.html
Ovviamente non devi fare nulla di tutto ciò se utilizzi uno dei nostri servizi di hosting VPS Linux, nel qual caso puoi semplicemente chiedere ai nostri esperti amministratori Linux di installarlo per te. Sono disponibili 24 ore su 24, 7 giorni su 7 e si prenderanno immediatamente cura della tua richiesta.
PS. Se questo post ti è piaciuto condividilo con i tuoi amici sui social network utilizzando i pulsanti a sinistra o semplicemente lascia una risposta qui sotto. Grazie.