From: <ddv@bgc.perm.ru> To: <sysadmins@lists.altlinux.org> Subject: [Sysadmins] php-5.3.3 + fpm + nginx Date: Mon, 20 Sep 2010 23:53:13 +0600 Message-ID: <997af6681dce344a75ab458ca32cdaa3@bgc.perm.ru> (raw) Вечер добрый! Моя попытка заюзать 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
next reply other threads:[~2010-09-20 17:53 UTC|newest] Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top 2010-09-20 17:53 ddv [this message] 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
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=997af6681dce344a75ab458ca32cdaa3@bgc.perm.ru \ --to=ddv@bgc.perm.ru \ --cc=sysadmins@lists.altlinux.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
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