Serveur Web · 3 min read · Feb 01, 2026
Nginx Catch-All Host Comme Front End Pour Apache Pour ISPConfig 2 Sur CentOS 5
Nginx Catch-All Host Comme Front End Pour Apache Pour ISPConfig 2 Sur CentOS 5
Nginx (prononcé “engine X”) est un serveur Web/proxy inverse léger et performant et un proxy de messagerie (IMAP/POP3), sous licence BSD-like. Il fonctionne sur UNIX, GNU/Linux, variantes BSD, Mac OS X, Solaris et Microsoft Windows. La performance d’Apache est généralement très bonne également. Cependant, dans un environnement à ressources limitées, Apache ne fournit pas nécessairement des performances ou une utilisation des ressources optimales. L’une des approches de “meilleures pratiques” pour réduire la charge sur Apache est de laisser un serveur Web plus léger prendre en charge la diffusion des fichiers statiques du site (images, javascript, css, etc.), laissant le travail lourd de diffusion du contenu dynamique à Apache. Ce tutoriel montre comment vous pouvez configurer Nginx comme front end pour Apache pour ISPConfig 2 sur CentOS 5.x.
Je ne donne aucune garantie que cela fonctionnera pour vous !
Configurer ISPConfig 2
Tout d’abord, vous devez modifier le fichier de configuration d’ISPConfig 2 comme suit :
cp -v /root/ispconfig/scripts/lib/config.lib.php /root/ispconfig/scripts/lib/config.lib.php.orig
vi /root/ispconfig/scripts/lib/config.lib.phpTrouvez le numéro de ligne 1283 et changez le port 80 en 8080 :
$web_port = ":80";$web_port = ":8080";Trouvez les numéros de ligne 2088 et 2089 et changez également le port 80 en 8080 :
$test_vhost = "\n".'
ServerName www.test.tld:80
ServerAdmin [email protected]
DocumentRoot /home
'.$web_httpd_include.'
';
$test_vhost = "\n".'
ServerName www.test.tld:8080
ServerAdmin [email protected]
DocumentRoot /home
'.$web_httpd_include.'
';
Si vous aimez une méthode beaucoup plus simple, utilisez :
sed -ie 's/:80/:8080/g' /root/ispconfig/scripts/lib/config.lib.phpConfigurer Apache
Changez le port d’écoute par défaut dans Apache de 80 à 8080.
vi /etc/httpd/conf/httpd.confListen 80
UseCanonicalName Off
Listen 8080
UseCanonicalName On
Installer Nginx
Pour installer le serveur web nginx :
yum install httpd-devel pcre perl pcre-devel zlib zlib-devel
cd /tmp
wget http://download.fedora.redhat.com/pub/epel/5/i386/nginx-0.6.39-5.el5.i386.rpm
rpm -ivh nginx-0.6.39-5.el5.i386.rpmNote : si vous souhaitez installer la dernière version de nginx, veuillez consulter ce lien : Installer Nginx Sur CentOS 5.5 Avec SSL, PCRE, GeoIP, Zlib, Gzip Et Support DAV
Et maintenant, vous devez configurer nginx.
vi /etc/nginx/nginx.confuser nginx;
worker_processes 4;
error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;
#----------------------------------------------------------------------
# Module d'Événements
#
# http://wiki.codemongers.com/NginxEventsModule
#
#----------------------------------------------------------------------
events {
worker_connections 1024;
use epoll;
}
#----------------------------------------------------------------------
# Module de Base HTTP
#
# http://wiki.codemongers.com/NginxHttpCoreModule
#
#----------------------------------------------------------------------
http {
include /etc/nginx/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 /var/log/nginx/access.log main;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
gzip on;
gzip_vary on;
gzip_comp_level 6;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
gzip_buffers 16 8k;
gzip_disable "MSIE [1-6].(?!.*SV1)";
#
proxy_temp_path /var/cache/nginx/temp;
proxy_cache_path /var/cache/nginx/cached levels=1:2 keys_zone=global:60m inactive=15m max_size=1G;
proxy_cache_valid 200 302 10m;
proxy_cache_valid 301 1h;
proxy_cache_valid 404 3m;
proxy_cache_use_stale error timeout http_500 http_502 http_503 http_504;
proxy_cache_key "$scheme$host$request_uri $cookie_user";
#
upstream apache {
server PLACE-IP-ADDRESS-OF-YOUR-SERVER-HERE:8080;
}
###########################################################
#
# Le serveur par défaut
#
server {
proxy_cache global;
listen 80;
server_name _;
server_name_in_redirect off;
resolver 127.0.0.1;
server_tokens off;
if ($host ~* ^(www\.)(.+)) {
set $rawdomain $2;
rewrite ^/(.*)$ http://$rawdomain/$1 permanent;
}
client_max_body_size 30m;
client_body_buffer_size 256k;
location / {
if (-d $request_filename) {
rewrite ^/(.+[^/])$ http://$host/$1/ permanent;
}
proxy_pass http://apache;
proxy_redirect off;
proxy_pass_header Set-Cookie;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_connect_timeout 120;
proxy_send_timeout 120;
proxy_read_timeout 120;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
root /var/www/www.$host/web;
index index.php index.html index.htm default.htm default.html;
}
error_page 404 /404.html;
location = /404.html {
root /usr/share/nginx/html;
}
# rediriger les pages d'erreur du serveur vers la page statique /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~* ^.+.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js|swf|flv|mp3)$ {
root /var/www/www.$host/web;
access_log off;
proxy_cache_valid 200 10h;
expires 3d;
}
}
include /etc/nginx/conf.d/*.conf;
}
Note importante : N’oubliez pas de remplacer l’ADRESSE IP de votre serveur Apache dans ce fichier de configuration.
Redémarrer les services requis et profitez-en !
Redémarrez les services ISPConfig et Apache et démarrez le service nginx.
service httpd restart
service ispconfig_server restart
service nginx startTest
Tout d’abord, vérifiez le fichier de virtual host ispconfig :
cat /etc/httpd/conf/vhosts/Vhosts_ispconfig.confIl doit ressembler à :
######################################
# Vhost: www.example.com:8080
######################################
#
#
ServerName www.example.com:8080
ServerAdmin [email protected]
DocumentRoot /var/www/web100/web
...
Deuxièmement, vérifiez les fichiers de log et d’erreur de nginx.
tail -f /var/log/nginx/access.log
tail -f /var/log/nginx/error.logRedémarrez le serveur si nécessaire.
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.