#Non classé
Installation de NginX en reverse proxy
16 septembre 2011 Rédigé par bartounet
Plateforme matérielle:
- Serveur Dell® PowerEdge R210
- CPU: 1x Intel® Xeon® X3450 4x 2.66GH
- RAM: 8 Go DDR3 ECC
- HDD: 2 x 1 To SATA2 Raid 0 / Raid 1 HARD
- LAN: 1 Gbit/sec
Plateforme logicielle:
- Dom0 Opensuse 11.3 X86_64 Xen 4
- DomU Xen Ubuntu 10.04 X86_64 Paravirtualisé
- 2 vcpus
- 512 Mo de Ram
Mon DomU Xen me servant pour mon serveur Web est depuis un moment composé seulement dun serveur apache qui distribuait mes différents sites ( blogs, galerie photos, perso etc..).
J'ai 10 virtualhosts qui ont très peu d'activité. Cela me suffit amplement pour l'affluence de mon site.
Dans un soucis de tester et pour améliorer un peu les performances, j'ai décidé de tester NginX.
L'idéal est bien sur de migrer tout le site sur Nginx mais ca demande pas mal de boulot.
J'ai donc décidé de tester NginX en reverse proxy.
C'est donc lui qui va distribuer les pages et faire le tampon/cache entre les clients et Apache.
Le cache est très interessant pour les pages statiques, ce qui m'arrange car j'ai migré mon blog recemment sur PluXml.
Installation de NginX:
#apt-get install nginx
Configuration de /etc/nginx/nginx.conf
user www-data;
worker_processes 2;
error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
access_log /var/log/nginx/access.log;
server_names_hash_bucket_size 64;
sendfile on;
tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
tcp_nodelay on;
gzip on;
gzip_comp_level 5;
gzip_http_version 1.0;
gzip_min_length 0;
gzip_types text/plain text/html text/css image/x-icon application/x-javascript;
gzip_vary on;
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
Le paramétrage est simple 2 processus capable d'accepter 1024
connexions chacunOn peut affiner les réglages en fonction de sa conf
Moi je suis parti du principe de mettre autant de process que de Vcpus présents dans mon DomU
configuration de /etc/nginx/conf.d/proxy.conf
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m;
client_body_buffer_size 128k;
client_header_buffer_size 64k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 16k;
proxy_buffers 32 16k;
proxy_busy_buffers_size 64k;
Configuration de /etc/nginx/sites-enabled/
server {La config est assez claire, on lui dit que pour le domaine info16.fr pointer vers 127.0.0.1:8080/
listen 80;
server_name info16.fr;
access_log /var/log/bloginfo16.access.log;
error_log /var/log/bloginfo16.nginx_error.log debug;
location / {
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 /var/www/nginx-default;
}
Par conséquent le serveur apache ne doit plus écouter sur 80 mais bien sur le port 8080:
Penser à modifier le /etc/apache2/ports.conf avec
Listen 8080
Ainsi que vos Vhosts vous devez remplacer le port 80 par 8080.
pour ma part j'ai aussi remplacé mes 192.168.1.1 ( ip locale de mon domU Xen) par 127.0.0.1 dans tous les vhosts.
Redemarrer apache2 et NginX et tester:
Voici les résultats obtenus grâce au site Loadimpact.com ; un site qui permet de simuller des clients en parallèle sur le site.
La version gratuite peut monter à 50 clients simultanés; C'est peu mais ca donne une idée...
- Apache seul:
- NginX en reverse proxy en frontal d'Apache
Le résultat parle de lui même de 1 à 50 clients simultanés la config Apache de base le serveur renvoie la page entre 900ms et 1600ms
Avec NginX cela reste stable et la réponse est renvoyé en environ 475ms ( pres de 2 fois plus vite et 4 fois avec 50 clients)
Information sur bartounet auteur de l'article
1 commentaire
#1
Hello,
Quelques autres stuces multisite, centos + plesk
http://jv-web.blogspot.com/2013/06/tuto-nginx-en-revers-proxy-apache.html Commentaire de Votre Nom
Fil RSS des commentaires de cet article
Les commentaires sont fermés.