Krav
Bytt Apache-lytteport
Deaktiver Unuse-moduler i Apache
Installer fremovermodulen
Stopp Apache-tjenesten
Sett opp Nginx
Nginx er en lett nettserver som har vist seg å tjene statiske filer raskere enn Apache. Denne opplæringen vil veilede deg hvordan du installerer Nginx som omvendt proxy over Apache-nettserver.
Krav
Du har installert Apache på serveren din. Apache kjører allerede et nettsted på port 80.
Bytt Apache-lytteport
Rediger for /etc/apache2/ports.confå få Apache til å lytte til port 8080 i stedet for standardport 80.
Finn følgende linje:
NameVirtualHost *:80
Listen 80
Endre det til:
NameVirtualHost *:8080
Listen 8080
Ikke glem å din eksisterende vhost-lytteport inn /etc/apache2/sites-enabled/*
Endring:
<VirtualHost *:80>
Til:
<VirtualHost *:8080>
Deaktiver Unuse-moduler i Apache
Siden HTTP-forespørsler nå håndteres av Nginx, kan vi deaktivere KeepAlive i Apache. Rediger /etc/apache2/apache2.confog endre:
KeepAlive Off
Kjør også følgende kommandoer for å deaktivere ubrukte moduler.
a2dismod deflate
a2dismod cgi
a2dismod autoindex
a2dismod negotiation
a2dismod ssl
Installer fremovermodulen
Installer mod_rpaf i Apache for å videresende besøkendes IP til Apache. Ellers vil skriptene dine lese REMOTE_ADDR-verdier som server-IP.
apt-get install libapache2-mod-rpaf
Stopp Apache-tjenesten
/etc/init.d/apache2 restart
Sett opp Nginx
Installer Nginx.
apt-get install nginx
Fjern standard vhost for å forhindre konflikter.
rm -rf /etc/nginx/sites-enabled/*
Opprett en ny standard vhost:
cat >/etc/nginx/sites-available/000-default <<EOF
server {
access_log off;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_pass http://127.0.0.1:8080;
}
}
EOF
ln -s /etc/nginx/sites-available/000-default /etc/nginx/sites-enabled/000-default
Opprett vhost for eksisterende nettsted for å videresende forespørsel til Apache:
cat >/etc/nginx/sites-available/domain.com <<EOF
server {
server_name www.domain.com domain.com;
root /var/www/domain.com/;
access_log off;
# Static contents
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)$ {
expires max;
}
# Dynamic content, forward to Apache
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_pass http://127.0.0.1:8080;
}
}
EOF
ln -s /etc/nginx/sites-available/domain.com /etc/nginx/sites-enabled/domain.com
Start Nginx på nytt og det er gjort.
/etc/init.d/nginx restart