Установим nginx, набрав в консоли:
sudo apt-get install nginx
Создадим файл:
и внесём в него настройки проксирования:
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;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffers 32 4k;
Создадим файл:
/etc/nginx/sites-enabled/www.aquanther.ru
и внесём в него настройки виртуального хоста (если использовать облачный хостинг, то Ip адрес Apache может быть отличен от 127.0.0.1), указав вместо 000.000.000.000 Ip адрес сервера:
server {
listen 000.000.000.000:80;
server_name www.aquanther.ru aquanther.ru;
access_log /var/log/nginx/www.aquanther.ru.log;
location / {
proxy_pass http://127.0.0.1:80/;
include /etc/nginx/proxy.conf;
}
location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|zip|
tgz|gz|rar|bz2|doc|xls|exe|pdf|
ppt|txt|tar|wav|bmp|rtf|js)$ {
root /home/webmaster/www/www.aquanther.ru/;
}
}
В данном примере с помощью nginx браузеру пользователя отдаются все файлы которые соответствуют маске заданной в последнем «location» (ВНИМАНИЕ!: при перечислении масок не должно быть пробелов и переносов строк, в данном примеры маски разбиты на 3 строки для наглядности, но в рабочем файле такого быть не должно), а все остальные обращения перенаправляются к Apache.
Перезапустим nginx (что бы изменения вступили в силу), набрав в консоли:
sudo /etc/init.d/nginx restart
Добавим новый виртуальный хост в Apache, для этого создадим и откроем файл:
/etc/apache2/sites-enabled/www.aquanther.ru
и внесём в него настройки виртуального хоста (если использовать облачный хостинг, то Ip адрес Apache может быть отличен от 127.0.0.1), указав вместо 000.000.000.000 Ip адрес сервера:
NameVirtualHost *
<VirtualHost *>
ServerName www.aquanther.ru
ServerAlias *.aquanther.ru aquanther.ru
DocumentRoot /home/webmaster/www/www.aquanther.ru/
ScriptAlias /cgi/ "/home/webmaster/www/cgi/"
ScriptAlias /cgi-bin/ "/home/webmaster/www/cgi-bin/"
ErrorLog /var/log/apache2/www.aquanther.ru_errors.log
CustomLog /var/log/apache2/www.aquanther.ru_custom.log combined
</VirtualHost>
После этого установим mod-rpaf модуль для Apache (что бы Apache мог получить дополнительную информацию о пользователе), набрав в консоли:
sudo apt-get install libapache2-mod-rpaf
и добавим в виртуальный хост Apache директивы для активации данного модуля (если использовать облачный хостинг, то локальный Ip адрес может быть отличен от 127.0.0.1):
<IfModule mod_rpaf.c>
RPAFenable On
RPAFsethostname On
RPAFproxy_ips 127.0.0.1
</IfModule>
Настроим Apache для общения с nginx, для этого откроем файл:
Укажем серверу Apache что он будет работать с локальным Ip адресом внеся следующие изменения (если использовать облачный хостинг, то локальный Ip адрес может быть отличен от 127.0.0.1):
NameVirtualHost *:80
Listen 127.0.0.1:80
<IfModule mod_ssl.c>
Listen 127.0.0.1:443
</IfModule>
Перезапустим Apache (что бы изменения вступили в силу), набрав в консоли:
sudo /etc/init.d/apache2 restart