Serveurs · 2 min read · Feb 08, 2026

Réduire la charge d'Apache avec Nginx sur RHEL 5.2

Réduire la charge d’Apache avec Nginx sur RHEL 5.2

Ce guide décrit comment installer et configurer Nginx pour accélérer un serveur Apache basé sur RHEL 5.2.

1. Mettez à jour vos paquets installés

yum install update

2. Installez de nouveaux paquets

yum install -y httpd-devel
wget http://rpmfind.net/linux/EPEL/5Server/i386/nginx-0.6.31-3.el5.i386.rpm
rpm nginx-0.6.31-3.el5.i386.rpm

3. Éditez /etc/nginx/nginx.conf

Configurer nginx en tant que proxy inverse :

nano /etc/nginx/nginx.conf

Changez worker_processes 1; en worker_processes 2;

Remplacez

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;
  #keepalive_timeout 0;
  keepalive_timeout 65;
  #gzip on;

# Charger les fichiers de configuration du répertoire /etc/nginx/conf.d
 include /etc/nginx/conf.d/*.conf;
#
# Le serveur par défaut
#
server {
listen 80;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}

par

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;
# Charger les fichiers de configuration du répertoire /etc/nginx/conf.d
include /etc/nginx/conf.d/*.conf;
#
# Le serveur par défaut
#
server {
listen 80;
server_name YOURSERVERNAME;
#charset koi8-r;
#access_log logs/host.access.log main;
#Emplacement principal
location / {
proxy_pass http://127.0.0.1:8080/;
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;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
root /usr/share/nginx/html;
index index.html index.htm index.php;
}

Cette fonction permet à nginx de travailler avec ces types de fichiers :

Changez

#location ~ \.ht {
#deny all;

en

location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|wav|bmp|rtf|js)$ {root /var/www;}

4. Vérifiez la configuration de nginx

nginx -t

Le résultat doit être comme ceci :

2008/07/17 16:09:46 [info] 17197#0: le fichier de configuration /etc/nginx/nginx.conf a une syntaxe correcte
2008/07/17 16:09:46 [info] 17197#0: le fichier de configuration /etc/nginx/nginx.conf a été testé avec succès

5. Installer le module rpaf-2.0

Ce module donne les IPs actives de Nginx à Apache.

cd /usr/local/src
wget http://stderr.net/apache/rpaf/download/mod_rpaf-0.6.tar.gz
tar xzf mod_rpaf-0.6.tar.gz
cd mod_rpaf-0.6

Compilation du module rpaf :

nano /usr/local/src/mod_rpaf-0.6/makefile

Changez APXS=$(shell which apxs) en APXS=/usr/sbin/apxs.

Méthodes de compilation :

I)

make rpaf-2.0 && make install-2.0

II)

apxs -i -c -n mod_rpaf-2.0.so mod_rpaf-2.0.c

6. Éditez httpd.conf

nano /etc/httpd/conf/httpd.conf

Ajoutez

...
LoadModule rpaf_module modules/mod_rpaf-2.0.so
....

#Paramètres Mod_rpaf
RPAFenable On
RPAFproxy_ips 127.0.0.1 REALIP1 REALIP2
RPAFsethostname On

Changez Listen 80 en Listen 8080, car nginx utilisera le port 80.

7. Redémarrez Apache et démarrez Nginx

service httpd restart
service nginx start

8. Voir les résultats

Page de test Apache par Nginx :

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.