Server Configuration · 3 min read · Feb 01, 2026

Nginx Catch-All Host Come Front End Per Apache Per ISPConfig 2 Su CentOS 5

Nginx Catch-All Host Come Front End Per Apache Per ISPConfig 2 Su CentOS 5

Nginx (pronunciato “engine X”) è un server Web/proxy inverso leggero e ad alte prestazioni e proxy e-mail (IMAP/POP3), con licenza sotto una licenza simile a BSD. Funziona su UNIX, GNU/Linux, varianti BSD, Mac OS X, Solaris e Microsoft Windows. Anche le prestazioni di Apache sono generalmente molto buone. Tuttavia, in un ambiente con risorse limitate, Apache non fornisce necessariamente prestazioni ottimali o utilizzo delle risorse. Uno degli approcci “best practice” per ridurre il carico su Apache è lasciare che un server web più snello e leggero si occupi della fornitura dei file statici del sito (immagini, javascript, css, ecc.), lasciando il compito di servire il contenuto dinamico ad Apache. Questo tutorial mostra come puoi configurare Nginx come front end per Apache per ISPConfig 2 su CentOS 5.x.

Non fornisco alcuna garanzia che questo funzioni per te!

Configura ISPConfig 2

Per prima cosa, devi modificare il file di configurazione di ISPConfig 2 come segue :

cp -v /root/ispconfig/scripts/lib/config.lib.php /root/ispconfig/scripts/lib/config.lib.php.orig  
vi /root/ispconfig/scripts/lib/config.lib.php

Trova la riga numero 1283 e cambia la porta 80 in 8080:

$web_port = ":80";
$web_port = ":8080";

Trova i numeri di riga 2088 e 2089 e cambia anche la porta 80 in 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.'
';

Se preferisci un metodo molto più semplice usa :

sed -ie 's/:80/:8080/g' /root/ispconfig/scripts/lib/config.lib.php

Configura Apache

Cambia la porta di ascolto predefinita in Apache da 80 a 8080.

vi /etc/httpd/conf/httpd.conf
Listen 80
UseCanonicalName Off
Listen 8080
UseCanonicalName On

Installa Nginx

Per installare il server 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.rpm

Nota: se desideri installare l’ultima versione di nginx, controlla questo link : Install Nginx On CentOS 5.5 With SSL, PCRE, GeoIP, Zlib, Gzip And DAV Support

E ora, devi configurare nginx.

vi /etc/nginx/nginx.conf
user nginx;
worker_processes 4;
error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;
#----------------------------------------------------------------------
# Modulo Eventi 
#
# http://wiki.codemongers.com/NginxEventsModule
#
#----------------------------------------------------------------------
events {
    worker_connections 1024;
    use epoll;
}
#----------------------------------------------------------------------
# Modulo Core 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;
    }
    ###########################################################
    #
    # Il server predefinito
    #
    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;
        }
        
        # reindirizza le pagine di errore del server alla pagina statica /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;
}

Nota importante: Non dimenticare di sostituire l’INDIRIZZO IP del tuo server Apache in questo file di configurazione.

Riavvia i servizi richiesti e divertiti!

Riavvia i servizi ISPConfig e Apache e avvia il servizio nginx.

service httpd restart  
service ispconfig_server restart   
service nginx start

Test

Per prima cosa, controlla il file di configurazione del virtual host ispconfig:

cat /etc/httpd/conf/vhosts/Vhosts_ispconfig.conf

Deve apparire così:

######################################
# Vhost: www.example.com:8080
######################################
#
#
ServerName www.example.com:8080
ServerAdmin [email protected]
DocumentRoot /var/www/web100/web
...

In secondo luogo, controlla i file di log e di errore di nginx.

tail -f /var/log/nginx/access.log  
tail -f /var/log/nginx/error.log

Riavvia il server se necessario.

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.