Server-Konfiguration · 2 min read · Feb 08, 2026

Reduzieren Sie die Last von Apache mit Nginx auf RHEL 5.2

Reduzieren Sie die Last von Apache mit Nginx auf RHEL 5.2

Diese Anleitung beschreibt, wie man Nginx installiert und konfiguriert, um einen Apache-Server auf Basis von RHEL 5.2 zu beschleunigen.

1. Aktualisieren Sie Ihre installierten Pakete

yum install update

2. Installieren Sie neue Pakete

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. Bearbeiten Sie /etc/nginx/nginx.conf

Nginx als Reverse-Proxy einrichten:

nano /etc/nginx/nginx.conf

Ändern Sie worker_processes 1; zu worker_processes 2;

Ersetzen Sie

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;

# Konfigurationsdateien aus dem Verzeichnis /etc/nginx/conf.d laden
 include /etc/nginx/conf.d/*.conf;
#
# Der Standardserver
#
server {
listen 80;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}

mit

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;
# Konfigurationsdateien aus dem Verzeichnis /etc/nginx/conf.d laden
include /etc/nginx/conf.d/*.conf;
#
# Der Standardserver
#
server {
listen 80;
server_name YOURSERVERNAME;
#charset koi8-r;
#access_log logs/host.access.log main;
#Hauptstandort
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;
}

Diese Funktion ermöglicht es Nginx, mit diesen Dateitypen zu arbeiten:

Ändern Sie

#location ~ \.ht {
#deny all;

zu

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. Überprüfen Sie die nginx-Konfiguration

nginx -t

Das Ergebnis muss wie folgt aussehen:

2008/07/17 16:09:46 [info] 17197#0: die Konfigurationsdatei /etc/nginx/nginx.conf hat eine korrekte Syntax
2008/07/17 16:09:46 [info] 17197#0: die Konfigurationsdatei /etc/nginx/nginx.conf wurde erfolgreich getestet

5. Installieren Sie das rpaf-2.0-Modul

Dieses Modul gibt aktive Nginx-IP-Adressen an Apache weiter.

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

Kompilieren des rpaf-Moduls:

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

Ändern Sie APXS=$(shell which apxs) zu APXS=/usr/sbin/apxs.

Kompilierungswege:

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. Bearbeiten Sie httpd.conf

nano /etc/httpd/conf/httpd.conf

Fügen Sie hinzu

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

#Mod_rpaf-Einstellungen
RPAFenable On
RPAFproxy_ips 127.0.0.1 REALIP1 REALIP2
RPAFsethostname On

Ändern Sie Listen 80 zu Listen 8080, da Nginx Port 80 verwenden wird.

7. Starten Sie Apache neu und starten Sie Nginx

service httpd restart
service nginx start

8. Ergebnisse anzeigen

Apache-Testseite von Nginx:

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.