Nginx. Использование PHP в режиме FastCGI с помощью php-fpm » комментарииhttps://adw0rd.com/2010/01/27/nginx-and-php-fpm/2014-07-04T06:52:42+04:00Блог Михаила Андреева, ака adw0rdadw0rd на "Nginx. Использование PHP в режиме FastCGI с помощью php-fpm"
2014-07-04T06:52:42+04:00adw0rdhttps://adw0rd.com/2010/01/27/nginx-and-php-fpm/#comment-6377Не за что, статья правда уже устарела, конфиги fpm уже давно в ini-формате)
<p>Не за что, статья правда уже устарела, конфиги fpm уже давно в ini-формате)</p>
valman на "Nginx. Использование PHP в режиме FastCGI с помощью php-fpm"
2014-07-04T02:03:23+04:00valmanhttps://adw0rd.com/2010/01/27/nginx-and-php-fpm/#comment-6376Блииин! Ребята, низкий поклон и огромнейшее спасибо за статью и обзор! Недавно столкнулся с переносом корявоработающего сайта на новый сервер, где уже крутится nginx и php 5.5 Уже все настроено работает как часики. Но корявый сайт работает ТОЛЬКО под php 5.2, написан невероятно криворуко левой рукой из под правой коленки,…
<p>Блииин! Ребята, низкий поклон и огромнейшее спасибо за статью и обзор!<br />
Недавно столкнулся с переносом корявоработающего сайта на новый сервер, где уже крутится nginx и php 5.5<br />
Уже все настроено работает как часики. Но корявый сайт работает ТОЛЬКО под php 5.2, написан невероятно криворуко левой рукой из под правой коленки, а на переписывание времени нет. Было выбрано решение поставить параллельно с 5.5 5.2. Долго мучился с настройками пока не наткнулся на эту статью! На все вопросы в раз нашлись ответы!</p>
<p>Все не нарадуюсь этим строчкам:</p>
<p>[root@web:chroot websrv]# ll<br />
srw-rw-rw- 1 root root php-fpm52.sock<br />
srw-rw-rw- 1 root root php-fpm55.sock</p>
<p>adw0rd, спасибо вам! =)<br />
С уважением, Val Man</p>
adw0rd на "Nginx. Использование PHP в режиме FastCGI с помощью php-fpm"
2011-01-04T20:36:10+03:00adw0rdhttps://adw0rd.com/2010/01/27/nginx-and-php-fpm/#comment-5217Комментарии закрываю в силу того, что: * у PHP-FPM изменился формат конфига * теперь можно ставить из портов (см. выше комментарий), а не патчить Возможно вас заинтерисует: http://adw0rd.ru/tag/nginx/ http://adw0rd.ru/tag/php-fpm/ http://adw0rd.ru/tag/fastcgi/ http://adw0rd.ru/tag/php/
<p>Комментарии закрываю в силу того, что:<br />
* у PHP-FPM изменился формат конфига<br />
* теперь можно ставить из портов (см. выше комментарий), а не патчить</p>
<p>Возможно вас заинтерисует:<br />
http://adw0rd.ru/tag/nginx/<br />
http://adw0rd.ru/tag/php-fpm/<br />
http://adw0rd.ru/tag/fastcgi/<br />
http://adw0rd.ru/tag/php/</p>
adw0rd на "Nginx. Использование PHP в режиме FastCGI с помощью php-fpm"
2011-01-04T20:33:56+03:00adw0rdhttps://adw0rd.com/2010/01/27/nginx-and-php-fpm/#comment-5216можно как-то из портов поставить php-5.2.10? можно "5.2.*", смотрите /usr/ports/lang/php52/ а то у меня более поздняя, тогда я смогу портом поставить патч... почему не поставите "более позднюю"? Сейчас уже не надо ничего патчить, так как c версией php 5.3 - fpm внесли в состав дистрибутива php. И через порты он…
<blockquote>
можно как-то из портов поставить php-5.2.10?
</blockquote>
<p>можно "5.2.*", смотрите /usr/ports/lang/php52/</p>
<blockquote> а то у меня более поздняя, тогда я смогу портом поставить патч...</blockquote>
<p>почему не поставите "более позднюю"?</p>
<p>Сейчас уже не надо ничего патчить, так как c версией php 5.3 - fpm внесли в состав дистрибутива php.<br />
И через порты он ставится путем указания галочки в make config<br />
Также есть пункт и для php 5.2</p>
Fighter на "Nginx. Использование PHP в режиме FastCGI с помощью php-fpm"
2011-01-04T16:50:08+03:00Fighterhttps://adw0rd.com/2010/01/27/nginx-and-php-fpm/#comment-5210зачем перезагрузить, без этого никак?
<p>зачем перезагрузить, без этого никак?</p>
Fighter на "Nginx. Использование PHP в режиме FastCGI с помощью php-fpm"
2011-01-04T16:49:15+03:00Fighterhttps://adw0rd.com/2010/01/27/nginx-and-php-fpm/#comment-5209можно как-то из портов поставить php-5.2.10? а то у меня более поздняя, тогда я смогу портом поставить патч...
<p>можно как-то из портов поставить php-5.2.10? а то у меня более поздняя, тогда я смогу портом поставить патч...</p>
adw0rd на "Nginx. Использование PHP в режиме FastCGI с помощью php-fpm"
2011-01-04T16:36:48+03:00adw0rdhttps://adw0rd.com/2010/01/27/nginx-and-php-fpm/#comment-5208Перезагрузите систему
<p>Перезагрузите систему</p>
Fighter на "Nginx. Использование PHP в режиме FastCGI с помощью php-fpm"
2011-01-04T16:17:41+03:00Fighterhttps://adw0rd.com/2010/01/27/nginx-and-php-fpm/#comment-5207не зпускается( пишет /usr/local/etc/rc.d/php-fpm start Starting php_fpm ................................... failed а в логе Jan 04 15:15:35.042340 [NOTICE] fpm_got_signal(), line 56: received SIGTERM Jan 04 15:15:35.042369 [NOTICE] fpm_pctl(), line 256: switching to 'terminating' state Jan 04 15:15:35.042389 [NOTICE] fpm_pctl_kill_all(), line 172: sending signal 15 SIGTERM to child 50506 (pool default) Jan 04…
<p>не зпускается(<br />
пишет<br />
/usr/local/etc/rc.d/php-fpm start<br />
Starting php_fpm ................................... failed</p>
<p>а в логе</p>
<pre><code>Jan 04 15:15:35.042340 [NOTICE] fpm_got_signal(), line 56: received SIGTERM
Jan 04 15:15:35.042369 [NOTICE] fpm_pctl(), line 256: switching to 'terminating' state
Jan 04 15:15:35.042389 [NOTICE] fpm_pctl_kill_all(), line 172: sending signal 15 SIGTERM to child 50506 (pool default)
Jan 04 15:15:35.042397 [NOTICE] fpm_pctl_kill_all(), line 172: sending signal 15 SIGTERM to child 50505 (pool default)
Jan 04 15:15:35.042405 [NOTICE] fpm_pctl_kill_all(), line 172: sending signal 15 SIGTERM to child 50504 (pool default)
Jan 04 15:15:35.043023 [NOTICE] fpm_pctl_kill_all(), line 172: sending signal 15 SIGTERM to child 50503 (pool default)
Jan 04 15:15:35.043031 [NOTICE] fpm_pctl_kill_all(), line 172: sending signal 15 SIGTERM to child 50502 (pool default)
Jan 04 15:15:35.043441 [NOTICE] fpm_pctl_kill_all(), line 181: 5 children are still alive
Jan 04 15:15:35.043486 [NOTICE] fpm_got_signal(), line 48: received SIGCHLD
Jan 04 15:15:35.043611 [WARNING] fpm_children_bury(), line 215: child 50506 (pool default) exited on signal 15 SIGTERM after 764.874366 seconds from start
Jan 04 15:15:35.043659 [WARNING] fpm_children_bury(), line 215: child 50505 (pool default) exited on signal 15 SIGTERM after 764.875014 seconds from start
Jan 04 15:15:35.043676 [WARNING] fpm_children_bury(), line 215: child 50504 (pool default) exited on signal 15 SIGTERM after 764.875615 seconds from start
Jan 04 15:15:35.043690 [WARNING] fpm_children_bury(), line 215: child 50503 (pool default) exited on signal 15 SIGTERM after 764.876131 seconds from start
Jan 04 15:15:35.043703 [WARNING] fpm_children_bury(), line 215: child 50502 (pool default) exited on signal 15 SIGTERM after 764.876558 seconds from start
Jan 04 15:15:35.043720 [NOTICE] fpm_pctl_exit(), line 81: exiting, bye-bye!
Jan 04 15:16:02.249955 [NOTICE] fpm_unix_init_main(), line 284: getrlimit(nofile): max:200000, cur:200000
Jan 04 15:16:02.250074 [ERROR] fpm_sockets_new_listening_socket(), line 221: bind() for address '127.0.0.1:9000' failed: Address already in use (48)
</code></pre>
Fighter на "Nginx. Использование PHP в режиме FastCGI с помощью php-fpm"
2011-01-04T15:03:46+03:00Fighterhttps://adw0rd.com/2010/01/27/nginx-and-php-fpm/#comment-5206еще вопрос насчет этих настроек Chroot to this directory at the start, absolute path <value name="chroot"></value> Chdir to this directory at the start, absolute path <value name="chdir"></value> нужно указать по аналогии с php_admin_value open_basedir если эти параметры не указаны, тогда какой дир берется за "изоляцию"?
<p>еще вопрос насчет этих настроек</p>
<pre><code>Chroot to this directory at the start, absolute path
<value name="chroot"></value>
Chdir to this directory at the start, absolute path
<value name="chdir"></value></code></pre>
<p>нужно указать по аналогии с php_admin_value open_basedir<br />
если эти параметры не указаны, тогда какой дир берется за "изоляцию"?</p>
Fighter на "Nginx. Использование PHP в режиме FastCGI с помощью php-fpm"
2011-01-04T14:58:46+03:00Fighterhttps://adw0rd.com/2010/01/27/nginx-and-php-fpm/#comment-5205я так полагаю это необходимо раскомментировать <!-- /usr/sbin/sendmail -t -i -->
<p>я так полагаю это необходимо раскомментировать<br />
<!-- /usr/sbin/sendmail -t -i --></p>
Fighter на "Nginx. Использование PHP в режиме FastCGI с помощью php-fpm"
2011-01-04T14:57:30+03:00Fighterhttps://adw0rd.com/2010/01/27/nginx-and-php-fpm/#comment-5204извиняюсь, про сендмаил уже нашел здесь http://adw0rd.ru/2010/ubuntu-php53/ :)
<p>извиняюсь, про сендмаил уже нашел здесь http://adw0rd.ru/2010/ubuntu-php53/ :)</p>
Fighter на "Nginx. Использование PHP в режиме FastCGI с помощью php-fpm"
2011-01-04T14:54:55+03:00Fighterhttps://adw0rd.com/2010/01/27/nginx-and-php-fpm/#comment-5203еще такой вопрос, вот в апаче когда php как модуль можно указать эти переменные php_admin_value open_basedir "/home/user/data:." php_admin_value sendmail_path "/usr/sbin/sendmail -t -i -f webmaster@host" php_admin_value session.save_path "/home/user/data/mod-tmp" php_admin_value upload_tmp_dir "/home/user/data/mod-tmp" а где их указать когда используется PHP-FPM? нужно чтоб сендмаил работал...
<p>еще такой вопрос, вот в апаче когда php как модуль можно указать эти переменные</p>
<pre><code> php_admin_value open_basedir "/home/user/data:."
php_admin_value sendmail_path "/usr/sbin/sendmail -t -i -f webmaster@host"
php_admin_value session.save_path "/home/user/data/mod-tmp"
php_admin_value upload_tmp_dir "/home/user/data/mod-tmp"</code></pre>
<p>а где их указать когда используется PHP-FPM? нужно чтоб сендмаил работал...</p>
Fighter на "Nginx. Использование PHP в режиме FastCGI с помощью php-fpm"
2011-01-04T14:09:20+03:00Fighterhttps://adw0rd.com/2010/01/27/nginx-and-php-fpm/#comment-5202Да просто правил море :) а в инклуд не хочется выносить...
<p>Да просто правил море :)<br />
а в инклуд не хочется выносить...</p>
adw0rd на "Nginx. Использование PHP в режиме FastCGI с помощью php-fpm"
2011-01-04T11:45:04+03:00adw0rdhttps://adw0rd.com/2010/01/27/nginx-and-php-fpm/#comment-5200Fighter, 1. Тут про error.log - http://adw0rd.ru/2010/ubuntu-php53/ 2. Лучше делать на каждое событие свой location, как и сказал ash2k: "в посте от 03.01.2011". Когда будет много location - вы сами запутаетесь, я сталкиваюсь постоянно с этим на работе, постепенно переделывая location из регулярок в просто location, если конечно это возможно...…
<p>Fighter,<br />
1. Тут про error.log - http://adw0rd.ru/2010/ubuntu-php53/<br />
2. Лучше делать на каждое событие свой location, как и сказал ash2k: "в посте от 03.01.2011". Когда будет много location - вы сами запутаетесь, я сталкиваюсь постоянно с этим на работе, постепенно переделывая location из регулярок в просто location, если конечно это возможно... Так что посмотрите видео и избегайте регулярок и if'ов</p>
ash2k на "Nginx. Использование PHP в режиме FastCGI с помощью php-fpm"
2011-01-04T09:16:41+03:00ash2khttps://adw0rd.com/2010/01/27/nginx-and-php-fpm/#comment-5198Правильно так, как вы написали в посте от 03.01.2011. Работать будет и второй вариант, но такого написания лучше избегать. Очень рекомендую посмотреть http://video.yandex.ru/users/ibondarets/view/1/
<p>Правильно так, как вы написали в посте от 03.01.2011.<br />
Работать будет и второй вариант, но такого написания лучше избегать.</p>
<p>Очень рекомендую посмотреть http://video.yandex.ru/users/ibondarets/view/1/</p>
Fighter на "Nginx. Использование PHP в режиме FastCGI с помощью php-fpm"
2011-01-04T00:06:36+03:00Fighterhttps://adw0rd.com/2010/01/27/nginx-and-php-fpm/#comment-5197так правильно? location ~* ^/(page1.php|page2.php)$ { deny all; }
<p>так правильно?</p>
<pre><code> location ~* ^/(page1.php|page2.php)$ {
deny all;
}</code></pre>
Fighter на "Nginx. Использование PHP в режиме FastCGI с помощью php-fpm"
2011-01-03T21:25:34+03:00Fighterhttps://adw0rd.com/2010/01/27/nginx-and-php-fpm/#comment-5196Еще подскажите пожалуйста, как сделать короче такие правила location /page1.php { deny all; } location /page2.php { deny all; } то есть в 1 location это можно записать?
<p>Еще подскажите пожалуйста, как сделать короче такие правила </p>
<pre><code>location /page1.php {
deny all;
}
location /page2.php {
deny all;
}
</code></pre>
<p>то есть в 1 location это можно записать?</p>
Fighter на "Nginx. Использование PHP в режиме FastCGI с помощью php-fpm"
2011-01-03T19:57:43+03:00Fighterhttps://adw0rd.com/2010/01/27/nginx-and-php-fpm/#comment-5194а при использовании php-fpm как описано в этой статье будут идти ероры согласно параметру в php.ini? ; Log errors to specified file. error_log = /file.log
<p>а при использовании php-fpm как описано в этой статье будут идти ероры согласно параметру в php.ini?</p>
<pre><code>; Log errors to specified file.
error_log = /file.log
</code></pre>
adw0rd на "Nginx. Использование PHP в режиме FastCGI с помощью php-fpm"
2011-01-03T13:19:15+03:00adw0rdhttps://adw0rd.com/2010/01/27/nginx-and-php-fpm/#comment-5193Погуглите apache php fastcgi
<p>Погуглите <a rel="nofollow" href="http://www.google.com/search?client=ubuntu&channel=fs&q=apache+php+fastcgi" rel="nofollow">apache php fastcgi</a></p>
Fighter на "Nginx. Использование PHP в режиме FastCGI с помощью php-fpm"
2011-01-03T01:16:43+03:00Fighterhttps://adw0rd.com/2010/01/27/nginx-and-php-fpm/#comment-5189да, спасибо, вот уже читаю доки (не прочитал пред. ваш пост, слишком быстро ответили :) )... еще такой вопрос, а подобным образом пропатченный php будет работать как mod apache?
<p>да, спасибо, вот уже читаю доки (не прочитал пред. ваш пост, слишком быстро ответили :) )... еще такой вопрос, а подобным образом пропатченный php будет работать как mod apache?</p>