Відмінності між версіями «Php-fpm»
Перейти до навігації
Перейти до пошуку
| Рядок 12: | Рядок 12: | ||
server { | server { | ||
listen 80; | listen 80; | ||
| − | '''server_name test; | + | '''server_name test; ''' |
| − | |||
access_log /var/log/test.log; | access_log /var/log/test.log; | ||
error_log /var/log/test-access.log; | error_log /var/log/test-access.log; | ||
include fastcgi_params; | include fastcgi_params; | ||
| − | + | ||
'''# Корінь де буде лежати сайт | '''# Корінь де буде лежати сайт | ||
'''root /srv/www/test/htdocs; | '''root /srv/www/test/htdocs; | ||
| Рядок 25: | Рядок 24: | ||
root /srv/www/zg/htdocs; | root /srv/www/zg/htdocs; | ||
} | } | ||
| − | + | ||
'''# Перенаправлення всіх запитів на index.php, | '''# Перенаправлення всіх запитів на index.php, | ||
'''if (!-e $request_filename) { | '''if (!-e $request_filename) { | ||
rewrite ^.*$ /index.php last; | rewrite ^.*$ /index.php last; | ||
} | } | ||
| − | + | ||
'''# корінь ссайту | '''# корінь ссайту | ||
'''location / { | '''location / { | ||
| Рядок 36: | Рядок 35: | ||
index index index.html index.htm index.php; | index index index.html index.htm index.php; | ||
} | } | ||
| − | + | ||
'''# Передача файлів .php на інтерфейс fastCGI (php-fpm) | '''# Передача файлів .php на інтерфейс fastCGI (php-fpm) | ||
'''location ~ \.php$ { | '''location ~ \.php$ { | ||
| Рядок 45: | Рядок 44: | ||
} | } | ||
} | } | ||
| − | + | ||
<br> | <br> | ||
Версія за 12:59, 17 грудня 2009
Замітка розрахована на тих, хто хоче вижати максимум продуктивності для своєї конфігурації. Також вона буде корисна і власникам VPS, обмежені ресурси яких роблять традиційну зв'язку apache + php ще менш придатною до використання. Описувана у статті конфігурація побудована на CentOS 5.4
Подготовка
Необхідні пакети можна взяти тут ftp://centos.alt.ru/pub/php-fpm/
Налаштування php-fpm.conf (змінюємо відповідні входження)
<value name="listen_address">/var/run/php-fpm</value> <value name="owner">nginx</value> <value name="group">nginx</value>
Налаштування nginx
server {
listen 80;
server_name test;
access_log /var/log/test.log;
error_log /var/log/test-access.log;
include fastcgi_params;
# Корінь де буде лежати сайт
root /srv/www/test/htdocs;
# Всю статику віддаємо nginx
location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|js|bmp|swf)$ {
root /srv/www/zg/htdocs;
}
# Перенаправлення всіх запитів на index.php,
if (!-e $request_filename) {
rewrite ^.*$ /index.php last;
}
# корінь ссайту
location / {
root /srv/www/zg/htdocs;
index index index.html index.htm index.php;
}
# Передача файлів .php на інтерфейс fastCGI (php-fpm)
location ~ \.php$ {
fastcgi_pass unix:/var/run/php-fpm;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /srv/www/test/htdocs$fastcgi_script_name;
include fastcgi_params;
}
}