ALT Linux sysadmins discussion
 help / color / mirror / Atom feed
* [Sysadmins] php-5.3.3 + fpm + nginx
@ 2010-09-20 17:53 ddv
  2010-09-20 19:36 ` Anton Farygin
  0 siblings, 1 reply; 8+ messages in thread
From: ddv @ 2010-09-20 17:53 UTC (permalink / raw)
  To: sysadmins

Вечер добрый!

Моя попытка заюзать php-5.3.3... На примере одно джумла сайта..

давно хотел перейти на сабж, но всё ждал php-5.3.3.. код на сайтах всех
переписал... все сайты работают, но на apache2 + mod_php

А вот сабж почти не работает.

вот такое в лог nginx падает:
2010/09/20 23:25:21 [error] 19630#0: *341 FastCGI sent in stderr: "PHP
Notice:  Trying to get property of non-object in
/var/www/mydomain.ru/plugins/system/xajax.php on line 57" while reading
response header from upstream, client: 94.50.5.244, server: mydomain.ru,
request: "GET /administrator/ HTTP/1.1", upstream:
"fastcgi://127.0.0.1:9000", host: "mydomain.ru"

Конфиг nginx:
server {
        listen      80;
        server_name mydomain.ru www.mydomain.ru;

        access_log  /var/log/nginx/mydomain.ru-access.log;
        error_log   /var/log/nginx/mydomain.ru-error.log;

        large_client_header_buffers 4 8k;

        root        /var/www/mydomain.ru;
        index       index.php;

        gzip on;
        
        gzip_types text/plain text/css application/x-javascript text/xml
application/xml application/rss+xml text/javascript image/x-icon;
        gzip_min_length 1000;
        gzip_comp_level 9;
        gzip_http_version 1.0;
        gzip_vary on;
        gzip_proxied expired no-cache no-store private auth;
        gzip_disable msie6;

        location / {
                rewrite "^/administrator"
https://mydomain.ru/administrator last;
                expires 30d;
                error_page 404 = @joomla; 
                log_not_found off;
        }

        location @joomla { 
                rewrite ^(.*)$ /index.php?q=$1 last;
        }
 
        location ~ \.php$ {
                fastcgi_pass   127.0.0.1:9000;
                fastcgi_index  index.php;
                include /etc/nginx/fastcgi_params;
                fastcgi_param  SCRIPT_FILENAME 
$document_root$fastcgi_script_name;
        }

        location ~* \.(css|js) {
                gzip_static on;

                gzip_disable Firefox/([0-2]\.|3\.0);
                gzip_disable Chrome/2;
                gzip_disable Safari;
                gzip_disable Konqueror;
        }
}

server {
        listen               443;
        server_name mydomain.ru www.mydomain.ru;
        keepalive_timeout    70;

        access_log  /var/log/nginx/mydomain.ru-access.log;
        error_log   /var/log/nginx/mydomain.ru-error.log;

        large_client_header_buffers 4 8k;

        root        /var/www/mydomain.ru;
        index       index.php;

        gzip on;
        gzip_types text/plain text/css application/x-javascript text/xml
application/xml application/rss+xml text/javascript image/x-icon;
        gzip_min_length 1000;
        gzip_comp_level 9;
        gzip_http_version 1.0;
        gzip_vary on;
        gzip_proxied expired no-cache no-store private auth;
        gzip_disable msie6;

        location / {
                expires 30d;
                error_page 404 = @joomla; 
                log_not_found off;
        }

        location @joomla { 
                rewrite ^(.*)$ /index.php?q=$1 last;
        }
 
        location ~ \.php$ {
                fastcgi_pass   127.0.0.1:9000;
                fastcgi_index  index.php;
                include /etc/nginx/fastcgi_params;
                fastcgi_param  SCRIPT_FILENAME 
$document_root$fastcgi_script_name;
        }

        location ~* \.(css|js) {
                # разрешаем отдавать вместо несжатого файла,
предварительно # сжатый с постфиксом «.gz», если такой есть
                gzip_static on;
                # запрещаем сжатие файлов CSS и JS для проблемных
браузеров
                gzip_disable Firefox/([0-2]\.|3\.0);
                gzip_disable Chrome/2;
                gzip_disable Safari;
                gzip_disable Konqueror;
        }

        ssl                  on;
        ssl_protocols        SSLv3 TLSv1;
        ssl_ciphers         
AES128-SHA:AES256-SHA:RC4-SHA:DES-CBC3-SHA:RC4-MD5;
        ssl_certificate      /etc/httpd2/conf/ssl/keys/mydomain.ru.crt;
        ssl_certificate_key  /etc/httpd2/conf/ssl/keys/mydomain.ru.key;
        ssl_session_cache    shared:SSL:10m;
        ssl_session_timeout  10m;
}

Конфиг fpm:
cat /etc/fpm/fpm.d/joomla.conf
[joomla]
listen = 127.0.0.1:9000
listen.allowed_clients = 127.0.0.1
user = apache2
group = apache2

pm = dynamic
pm.max_children = 15
pm.start_servers = 1
pm.min_spare_servers = 1
pm.max_spare_servers = 15

slowlog = /var/log/php5-fpm/joomla.slow.log
catch_workers_output = yes
php_admin_value[error_log] = /var/log/php-fpm/joomla.err.log
php_admin_flag[log_errors] = on
php_admin_value[upload_max_filesize] = 100M

Страница открывается долго, 20 секунд, висит 5 процессов php5-fpm и грузят
проц под 100%. Когда тоже самое на apache2 + mod_php 1,5 сек и нагрузка на
проц 3%.

Ещё такой момент непонятен с nginx.
В Firefox смотрю http заголовки и вижу в обоих случаях(apache2 и nginx)
gzip контент. В Google Chromium можно увидеть сколько скачано и реальный
размер. Для apache2 показывает, что скачано скажем 30kb и реальный размер
70kb, для nginx просто как не сжатое 70kb. Жмёт ли, непонятно.

Если включить apc, то в логах php5-fpm наблюдаю:
Sep 20 21:28:55.550360 [WARNING] [pool joomla] child 11619 said into
stderr: "[Mon Sep 20 21:28:55 2010] [apc-warning] "
Sep 20 21:28:55.550445 [WARNING] [pool joomla] child 11619 said into
stderr: "Potential cache slam averted for key
'cache_mod_mainmenu-b0047de1b6557e1cbc01b3fe0b7aece3_expire'"
Sep 20 21:28:55.550513 [WARNING] [pool joomla] child 11619 said into
stderr: " in /var/www/mydomain.ru/libraries/joomla/cache/storage/apc.php on
line 71."
Sep 20 21:28:55.550562 [WARNING] [pool joomla] child 11619 said into
stderr: ""

ну и половину контента естественно не отдаёт при  включенном apc


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Sysadmins] php-5.3.3 + fpm + nginx
  2010-09-20 17:53 [Sysadmins] php-5.3.3 + fpm + nginx ddv
@ 2010-09-20 19:36 ` Anton Farygin
  2010-09-21 12:45   ` Sergey Alembekov
  2010-09-21 16:56   ` ddv
  0 siblings, 2 replies; 8+ messages in thread
From: Anton Farygin @ 2010-09-20 19:36 UTC (permalink / raw)
  To: sysadmins

20.09.2010 21:53, ddv@bgc.perm.ru пишет:
> Вечер добрый!
>
> Моя попытка заюзать php-5.3.3... На примере одно джумла сайта..
>
> давно хотел перейти на сабж, но всё ждал php-5.3.3.. код на сайтах всех
> переписал... все сайты работают, но на apache2 + mod_php
>
> А вот сабж почти не работает.
>

А если php-fpm заменить на php-cgi (который запускать через spawn-fcgi) ?

php-fpm у меня тоже на большом проекте не заработал, я с ним буду ещё 
разбираться, но у меня возникло чёткое ощущение что оно сильно ...




^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Sysadmins] php-5.3.3 + fpm + nginx
  2010-09-20 19:36 ` Anton Farygin
@ 2010-09-21 12:45   ` Sergey Alembekov
  2010-09-21 12:45     ` Anton Farygin
  2010-09-21 16:56   ` ddv
  1 sibling, 1 reply; 8+ messages in thread
From: Sergey Alembekov @ 2010-09-21 12:45 UTC (permalink / raw)
  To: sysadmins

20.09.2010 23:36, Anton Farygin пишет:
> php-fpm у меня тоже на большом проекте не заработал, я с ним буду ещё
> разбираться, но у меня возникло чёткое ощущение что оно сильно ...
У меня работает. Правда php-5.3 собирал сам(тогда его в сизифе ещё не было)


-- 
Regards, Sergey Alembekov
ALTLinux Team
xmpp: rt@jabber.ru


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Sysadmins] php-5.3.3 + fpm + nginx
  2010-09-21 12:45   ` Sergey Alembekov
@ 2010-09-21 12:45     ` Anton Farygin
  2010-09-21 12:55       ` Sergey Alembekov
  0 siblings, 1 reply; 8+ messages in thread
From: Anton Farygin @ 2010-09-21 12:45 UTC (permalink / raw)
  To: sysadmins

21.09.2010 16:45, Sergey Alembekov пишет:
> 20.09.2010 23:36, Anton Farygin пишет:
>> php-fpm у меня тоже на большом проекте не заработал, я с ним буду ещё
>> разбираться, но у меня возникло чёткое ощущение что оно сильно ...
> У меня работает. Правда php-5.3 собирал сам(тогда его в сизифе ещё не было)

А ты php-fpm брал из тарболла php-5.3.3 ?

У меня тоже работает, но не на всех задачах...



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Sysadmins] php-5.3.3 + fpm + nginx
  2010-09-21 12:45     ` Anton Farygin
@ 2010-09-21 12:55       ` Sergey Alembekov
  2010-09-21 12:56         ` Anton Farygin
  0 siblings, 1 reply; 8+ messages in thread
From: Sergey Alembekov @ 2010-09-21 12:55 UTC (permalink / raw)
  To: sysadmins

21.09.2010 16:45, Anton Farygin пишет:
> 21.09.2010 16:45, Sergey Alembekov пишет:
>> 20.09.2010 23:36, Anton Farygin пишет:
>>> php-fpm у меня тоже на большом проекте не заработал, я с ним буду
>>> ещё разбираться, но у меня возникло чёткое ощущение что оно
>>> сильно ...
>> У меня работает. Правда php-5.3 собирал сам(тогда его в сизифе ещё
>> не было)
>
> А ты php-fpm брал из тарболла php-5.3.3 ?
Я использовал /people/dubrsl/packages/php53.git как отправную точку


-- 
Regards, Sergey Alembekov
ALTLinux Team
xmpp: rt@jabber.ru


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Sysadmins] php-5.3.3 + fpm + nginx
  2010-09-21 12:55       ` Sergey Alembekov
@ 2010-09-21 12:56         ` Anton Farygin
  0 siblings, 0 replies; 8+ messages in thread
From: Anton Farygin @ 2010-09-21 12:56 UTC (permalink / raw)
  To: sysadmins

21.09.2010 16:55, Sergey Alembekov пишет:
> 21.09.2010 16:45, Anton Farygin пишет:
>> 21.09.2010 16:45, Sergey Alembekov пишет:
>>> 20.09.2010 23:36, Anton Farygin пишет:
>>>> php-fpm у меня тоже на большом проекте не заработал, я с ним буду
>>>> ещё разбираться, но у меня возникло чёткое ощущение что оно
>>>> сильно ...
>>> У меня работает. Правда php-5.3 собирал сам(тогда его в сизифе ещё
>>> не было)
>>
>> А ты php-fpm брал из тарболла php-5.3.3 ?
> Я использовал /people/dubrsl/packages/php53.git как отправную точку

Тогда это оно-же..



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Sysadmins] php-5.3.3 + fpm + nginx
  2010-09-20 19:36 ` Anton Farygin
  2010-09-21 12:45   ` Sergey Alembekov
@ 2010-09-21 16:56   ` ddv
  2010-09-21 19:32     ` Anton Farygin
  1 sibling, 1 reply; 8+ messages in thread
From: ddv @ 2010-09-21 16:56 UTC (permalink / raw)
  To: ALT Linux sysadmins' discussion

On Mon, 20 Sep 2010 23:36:53 +0400, Anton Farygin <rider@altlinux.com>
wrote:
> 20.09.2010 21:53, ddv@bgc.perm.ru пишет:
>> Вечер добрый!
>>
>> Моя попытка заюзать php-5.3.3... На примере одно джумла сайта..
>>
>> давно хотел перейти на сабж, но всё ждал php-5.3.3.. код на сайтах всех
>> переписал... все сайты работают, но на apache2 + mod_php
>>
>> А вот сабж почти не работает.
>>
> 
> А если php-fpm заменить на php-cgi (который запускать через spawn-fcgi)
?
ведёт себя абсолютно так же... только памяти на 400Мб больше съедает без
нагрузки...


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Sysadmins] php-5.3.3 + fpm + nginx
  2010-09-21 16:56   ` ddv
@ 2010-09-21 19:32     ` Anton Farygin
  0 siblings, 0 replies; 8+ messages in thread
From: Anton Farygin @ 2010-09-21 19:32 UTC (permalink / raw)
  To: sysadmins

21.09.2010 20:56, ddv@bgc.perm.ru пишет:
> On Mon, 20 Sep 2010 23:36:53 +0400, Anton Farygin<rider@altlinux.com>
> wrote:
>> 20.09.2010 21:53, ddv@bgc.perm.ru пишет:
>>> Вечер добрый!
>>>
>>> Моя попытка заюзать php-5.3.3... На примере одно джумла сайта..
>>>
>>> давно хотел перейти на сабж, но всё ждал php-5.3.3.. код на сайтах всех
>>> переписал... все сайты работают, но на apache2 + mod_php
>>>
>>> А вот сабж почти не работает.
>>>
>>
>> А если php-fpm заменить на php-cgi (который запускать через spawn-fcgi)
> ?
> ведёт себя абсолютно так же... только памяти на 400Мб больше съедает без
> нагрузки...

Значит проблема в настройках. У меня всё работает, правда джумлу я не 
пробовал запускать.

Рекомендую поубирать всё лишнее, оставить один процесс (два) php-fpm, 
подцепиться к нему через strace и смотреть, что происходит.




^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2010-09-21 19:32 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-09-20 17:53 [Sysadmins] php-5.3.3 + fpm + nginx ddv
2010-09-20 19:36 ` Anton Farygin
2010-09-21 12:45   ` Sergey Alembekov
2010-09-21 12:45     ` Anton Farygin
2010-09-21 12:55       ` Sergey Alembekov
2010-09-21 12:56         ` Anton Farygin
2010-09-21 16:56   ` ddv
2010-09-21 19:32     ` Anton Farygin

ALT Linux sysadmins discussion

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/sysadmins/0 sysadmins/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 sysadmins sysadmins/ http://lore.altlinux.org/sysadmins \
		sysadmins@lists.altlinux.org sysadmins@lists.altlinux.ru sysadmins@lists.altlinux.com
	public-inbox-index sysadmins

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.sysadmins


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git