Установка Nginx как Front-end и Apache как Back-end с php-fpm в качестве FastCGI

Установка Nginx как Front-end и Apache как Back-end с php-fpm в качестве FastCGI

Roman Bogachev VMware Specialist | Drone Pilot | Traveler

Установка Nginx как Front-end и Apache как Back-end с php-fpm в качестве FastCGI

Устанавливаем nginx и php-fpm

Настраиваем конфиг nginx

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
server {
listen 80;

root /path/to/example.com/public_html/;
index index.php index.html index.htm;

server_name example.com;

location / {
try_files $uri $uri/ /index.php;
}

location ~ \.php$ {

proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
proxy_pass http://127.0.0.1:8080;

}

location ~ /\.ht {
deny all;
}
}

Ставим httpd сервер

1
yum install httpd

Меняем конфиг Apache

1
2
3
4
5
6
7
8
9
10
NameVirtualHost 127.0.0.1:8080
Listen 127.0.0.1:8080

<VirtualHost 127.0.0.1:8080>
ServerAdmin admin@example.com
DocumentRoot /path/to/example.com/public_html/
ServerName example.com
ErrorLog logs/example.com-error_log
CustomLog logs/example.com-access_log common
</VirtualHost>

Дружим apache с php-fpm

Ставим дополнительные пакеты:

1
yum install httpd-devel gcc automake

Собираем с сорсов

1
2
3
4
5
6
wget http://www.fastcgi.com/dist/mod_fastcgi-current.tar.gz
tar -zxvf mod_fastcgi-current.tar.gz
cd mod_fastcgi-2.4.6/
cp Makefile.AP2 Makefile
make top_dir=/usr/lib64/httpd
make install top_dir=/usr/lib64/httpd

Добавляем строчку в конфиг Apache LoadModule fastcgi_module modules/mod_fastcgi.so

А также указываем путь обработки php

1
2
3
4
5
6
7
# Associate an alias mapping for the 'fake' fcgi call.
Alias /php5.fcgi /path/to/example.com/public_html/php5.fcgi
# Assign the 'fake' fcgi to call to an 'external' FastCGI Server
FastCGIExternalServer /path/to/example.com/public_html/php5.fcgi -flush -host 127.0.0.1:9000
# Create the handler mappings to associate PHP files with a call to '/php5.fcgi'
AddType application/x-httpd-fastphp5 .php
Action application/x-httpd-fastphp5 /php5.fcgi

Перезагружаем сервис:

1
service httpd restart
On this page