Пример базовой связки и настройки nginx + apache
Настройка nginx + apache
05.05.2015
Что я хотел получить:
Nginx выступает как прокси сервер и отдает статику, а apache отрабатывает скрипты. Все примеры будут ориентированы на Centos, но по большому счету отличаться должны только пути и команды инсталляции и перезапуска, а сами конфиги идентичны.
До начала работы на сервере уже были установлены apache, mySql, Php и т.д. поэтому их настройку рассматривать не буду.
- Устанавливаем Nginx:
yum -y install nginx
- Настраиваем конфиг Nginx /etc/nginx/conf.d:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23server { listen *:80; server_name DOMEN.ru; access_log /var/log/nginx/access.log; # Перенаправление на back-end location / { proxy_pass http://127.0.0.1:8080/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; proxy_connect_timeout 120; proxy_send_timeout 120; proxy_read_timeout 180; } # Статическиое наполнение отдает сам nginx # back-end этим заниматься не должен location ~* \.(jpg|jpeg|gif|png|ico|css|bmp|swf|js|html|txt)$ { root /home/public/DOMEN.ru/www/; } }
- Вносим изменения в конфиг apache (/etc/httpd/httpd.conf):
Меняем настройки:
NameVirtualHost *:80 Listen 80
на
NameVirtualHost *:8080 Listen 8080
- Вносим изменение в виртуальные хосты (меняем порт):
1
2
3
4
5<VirtualHost *:8080> ServerName SUB.DOMEN.ru DocumentRoot /home/public/SUB.DOMEN.ru/www ... </VirtualHost>
- Перезагружаем apache и nginx:
service httpd restart service nginx restart