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

Установка 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 [email protected]
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

Комментарии

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×