Installation d’u serveur Nginx
|on va voir maintenant comment installer un serveur NGINX, beaucoup plus puissant et moins consommateur que Apache2
on l’installe par la ligne de commande
apt-get install nginx
le retour corrige les dépendances
Lecture des listes de paquets... Fait Construction de l'arbre des dépendances Lecture des informations d'état... Fait Les paquets supplémentaires suivants seront installés : geoip-database libgeoip1 nginx-common nginx-full Paquets suggérés : geoip-bin Les NOUVEAUX paquets suivants seront installés : geoip-database libgeoip1 nginx nginx-common nginx-full 0 mis à jour, 5 nouvellement installés, 0 à enlever et 0 non mis à jour. Il est nécessaire de prendre 2 133 ko dans les archives. Après cette opération, 6 203 ko d'espace disque supplémentaires seront utilisés. Souhaitez-vous continuer [O/n] ? o Réception de : 1 http://mirrordirector.raspbian.org/raspbian/ wheezy/main geoip-database all 20130213-1 [1 466 kB] Réception de : 2 http://mirrordirector.raspbian.org/raspbian/ wheezy/main libgeoip1 armhf 1.4.8+dfsg-3 [133 kB] Réception de : 3 http://mirrordirector.raspbian.org/raspbian/ wheezy/main nginx-common all 1.2.1-2.2+wheezy3 [72,8 kB] Réception de : 4 http://mirrordirector.raspbian.org/raspbian/ wheezy/main nginx-full armhf 1.2.1-2.2+wheezy3 [399 kB] Réception de : 5 http://mirrordirector.raspbian.org/raspbian/ wheezy/main nginx all 1.2.1-2.2+wheezy3 [61,4 kB] 2 133 ko réceptionnés en 5s (404 ko/s) Sélection du paquet geoip-database précédemment désélectionné. (Lecture de la base de données... 101285 fichiers et répertoires déjà installés.) Dépaquetage de geoip-database (à partir de .../geoip-database_20130213-1_all.deb) ... Sélection du paquet libgeoip1 précédemment désélectionné. Dépaquetage de libgeoip1 (à partir de .../libgeoip1_1.4.8+dfsg-3_armhf.deb) ... Sélection du paquet nginx-common précédemment désélectionné. Dépaquetage de nginx-common (à partir de .../nginx-common_1.2.1-2.2+wheezy3_all.deb) ... Sélection du paquet nginx-full précédemment désélectionné. Dépaquetage de nginx-full (à partir de .../nginx-full_1.2.1-2.2+wheezy3_armhf.deb) ... Sélection du paquet nginx précédemment désélectionné. Dépaquetage de nginx (à partir de .../nginx_1.2.1-2.2+wheezy3_all.deb) ... Traitement des actions différées (« triggers ») pour « man-db »... Paramétrage de geoip-database (20130213-1) ... Paramétrage de libgeoip1 (1.4.8+dfsg-3) ... Paramétrage de nginx-common (1.2.1-2.2+wheezy3) ... Paramétrage de nginx-full (1.2.1-2.2+wheezy3) ... Paramétrage de nginx (1.2.1-2.2+wheezy3) ...
ensuite on lance le serveur
/etc/init.d/nginx start
CONFIGURATION DE NGINX
on va passer à la configuration a proprement parlé
on peut rajouter le module dans webmin via :
le lien pour rajouter l’extension webmin se situe ici http://www.webmin.com/cgi-bin/search_third.cgi?search=nginx
l’adresse est la suivante http://www.justindhoffman.com/sites/justindhoffman.com/files/nginx-0.08.wbm__0.gz
une fois installé, on peux accéder aux outils de configuration de NGINX
le fichier de base de Nginx est relativement simple
il est situé dans /etc/nginx/nginx.conf
user www-data; worker_processes 4; pid /var/run/nginx.pid; events { worker_connections 768; # multi_accept on; } http { ## # Basic Settings ## sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; # server_tokens off; # server_names_hash_bucket_size 64; # server_name_in_redirect off; include /etc/nginx/mime.types; default_type application/octet-stream; ## # Logging Settings ## access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; ## # Gzip Settings ## gzip on; gzip_disable "msie6"; # gzip_vary on; # gzip_proxied any; # gzip_comp_level 6; # gzip_buffers 16 8k; # gzip_http_version 1.1; # gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript; ## # nginx-naxsi config ## # Uncomment it if you installed nginx-naxsi ## #include /etc/nginx/naxsi_core.rules; ## # nginx-passenger config ## # Uncomment it if you installed nginx-passenger ## #passenger_root /usr; #passenger_ruby /usr/bin/ruby; ## # Virtual Host Configs ## include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-enabled/*; } #mail { # # See sample authentication script at: # # http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript # # # auth_http localhost/auth.php; # # pop3_capabilities "TOP" "USER"; # # imap_capabilities "IMAP4rev1" "UIDPLUS"; # # server { # listen localhost:110; # protocol pop3; # proxy on; # } # # server { # listen localhost:143; # protocol imap; # proxy on; # } #}
et le fichier de configuration d’un virtualhost de base
le fichier est situé la /etc/nginx/sites-available/default.
# You may add here your # server { # ... # } # statements for each of your virtual hosts to this file ## # You should look at the following URL's in order to grasp a solid understanding # of Nginx configuration files in order to fully unleash the power of Nginx. # http://wiki.nginx.org/Pitfalls # http://wiki.nginx.org/QuickStart # http://wiki.nginx.org/Configuration # # Generally, you will want to move this file somewhere, and start with a clean # file but keep this around for reference. Or just disable in sites-enabled. # # Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples. ## server { #listen 80; ## listen for ipv4; this line is default and implied #listen [::]:80 default_server ipv6only=on; ## listen for ipv6 root /usr/share/nginx/www; index index.html index.htm; # Make site accessible from http://localhost/ server_name localhost; location / { # First attempt to serve request as file, then # as directory, then fall back to displaying a 404. try_files $uri $uri/ /index.html; # Uncomment to enable naxsi on this location # include /etc/nginx/naxsi.rules } location /doc/ { alias /usr/share/doc/; autoindex on; allow 127.0.0.1; allow ::1; deny all; } # Only for nginx-naxsi used with nginx-naxsi-ui : process denied requests #location /RequestDenied { # proxy_pass http://127.0.0.1:8080; #} #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # #error_page 500 502 503 504 /50x.html; #location = /50x.html { # root /usr/share/nginx/www; #} # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # #location ~ \.php$ { # fastcgi_split_path_info ^(.+\.php)(/.+)$; # # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini # # # With php5-cgi alone: # fastcgi_pass 127.0.0.1:9000; # # With php5-fpm: # fastcgi_pass unix:/var/run/php5-fpm.sock; # fastcgi_index index.php; # include fastcgi_params; #} # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # #location ~ /\.ht { # deny all; #} } # another virtual host using mix of IP-, name-, and port-based configuration # #server { # listen 8000; # listen somename:8080; # server_name somename alias another.alias; # root html; # index index.html index.htm; # # location / { # try_files $uri $uri/ =404; # } #} # HTTPS server # #server { # listen 443; # server_name localhost; # # root html; # index index.html index.htm; # # ssl on; # ssl_certificate cert.pem; # ssl_certificate_key cert.key; # # ssl_session_timeout 5m; # # ssl_protocols SSLv3 TLSv1; # ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv3:+EXP; # ssl_prefer_server_ciphers on; # # location / { # try_files $uri $uri/ =404; # } #}
on va créer un fichier et le connecter sur le port 8080 de notre serveur NGINC
voici son contenu et son emplacement
/etc/nginx/sites-available/toto
server { listen 8080; root /home/web; toto.html; # Make site accessible from http://localhost/ server_name localhost; location / { try_files $uri $uri/ /index.html; } location /doc/ { alias /usr/share/doc/; autoindex on; allow 127.0.0.1; allow ::1; deny all; } }
on crée un fichier dans /home/web nommé toto.html et son contenu ‘ce que vous voulez’ !!!
on active maintenant le nouveau site
ln -s /etc/nginx/sites-available/toto /etc/nginx/sites-enabled/toto
on relance le serveur GINX
/etc/init.d/nginx restart
on peut ensuite se rendre sur l’adresse http://127.0.0.1:8080 pour voir le résultat