Subscribe on YouTube

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

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

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

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

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 сервер

yum install httpd

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

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

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

yum install httpd-devel gcc automake

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

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

# 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

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

service httpd restart
Поделиться Комментарии