nginx+apache2 (помогите с оптимизацией)
stalker-xxl
nginx-forum at nginx.us
Mon Feb 18 07:19:44 UTC 2013
День добрый! Устал платить разным "горе-оптимизаторам", поэтому прошу помощи
на данном форуме...
Имеем 8-ядерный сервер.. сайты на движке DLE... на сервере стоят:
apache2 + nginx + php 5 + mysql + memcache
Проблема в следующем: при серфинге по сайтам - иногда появляются задержки..
то есть можно кликнуть по ссылке рубрики, например.. и сайт будет вечно
думать... а если кликнуть еще раз - то мгновенно переходит...
Плюс Google Pagespeed и подобные сервисы показывают "включите сжатие"..
Хотя в конфиге сжатие включено...
Ну и вообще хотелось бы убедиться, что связка nginx+apache настроена на
146%.. =)
Конфиг таков:
user nginx;
worker_processes 8;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
multi_accept on;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request"
'
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
## логи
#access_log /var/log/nginx/access.log main;
access_log off;
log_not_found off;
# File Cache Settings
##
#open_file_cache max=100000 inactive=60s;
#open_file_cache_valid 60s;
#open_file_cache_min_uses 1;
#open_file_cache_errors on;
sendfile on;
tcp_nodelay on;
tcp_nopush on;
#reset_timedout_connection on;
keepalive_timeout 15;
#####pagespeed######
#pagespeed on;
#pagespeed RewriteLevel PassThrough;
# needs to exist and be writable by nginx
#pagespeed FileCachePath /var/cache/ngx_pagespeed_cache;
#pagespeed EnableFilters
add_head,combine_css,combine_heads,move_css_to_head,outline_css,outline_javascript,remove_quotes,remove_comments;
#pagespeed RunExperiment on;
#pagespeed ExperimentSpec "id=3;percent=50;default";
#pagespeed ExperimentSpec "id=4;percent=50";
#pagespeed MemcachedServers "127.0.0.1:11211";
#pagespeed MemcachedThreads 64;
####### Gzip Settings
##
gzip on;
gzip_disable "msie6";
gzip_static on;
gzip_vary on;
gzip_min_length 1024;
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 32k;
gzip_http_version 1.1;
gzip_types text/plain text/css application/json application/x-javascript
text/xml application/xml application/xml+rss text/javascript;
include /etc/nginx/conf.d/*.conf;
client_max_body_size 64m;
log_format isp '$bytes_sent $request_length';
server {
listen 1.2.3.4:80;
server_name site.net www.site.net *.site.net;
rewrite ^(/manager/.*)$ https://$host$1 permanent;
error_page 404 = @fallback;
location ~* ^/(webstat/|awstats|webmail/|myadmin/|manimg/) {
proxy_pass http://1.2.3.4:8080;
proxy_redirect http://site.net:8080/ /;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
}
location / {
set $memcached_key "$uri?$args";
memcached_pass localhost:11211;
error_page 404 502 504 = @fallback;
proxy_pass http://1.2.3.4:8080;
proxy_redirect http://site.net:8080/ /;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
}
location ~*
^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar)$ {
expires 30d;
add_header Pragma public;
add_header Cache-Control "public";
access_log /var/www/httpd-logs/site.net.access.log ;
access_log /var/www/nginx-logs/site isp;
set $proot "/var/www/site/data/www/site.net";
if ( $host = "site.net" ) {
break;
}
if ( $host = "www.site.net" ) {
break;
}
if ( $host ~* ^((.*).site.net)$ ) {
set $proot /var/www/site/data/www/$1;
break;
}
root $proot;
}
location @fallback {
proxy_pass http://1.2.3.4:8080;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
}
}
Также ряд важных вопросов:
- как убедиться, что nginx и memcache работают? у memcache занято всего 12Mb
памяти.... маловато...
- как проверить "включено ли сжатие" и как его включить?
- mod_pagespeed ( https://github.com/pagespeed/ngx_pagespeed) кто-нибудь
включал? я включаю - пишет, что вроде все ОК... но думаю, что не работает
- ну и если можно, то помогите в целом оптимизировать конфиг...
сам конфиг в целом:
nginx version: nginx/1.2.7
built by gcc 4.4.5 (Debian 4.4.5-8)
TLS SNI support enabled
configure arguments: --add-module=/root/ngx_pagespeed --prefix=/etc/nginx
--sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf
--error-log-path=/var/log/nginx/error.log
--http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid
--lock-path=/var/run/nginx.lock
--http-client-body-temp-path=/var/cache/nginx/client_temp
--http-proxy-temp-path=/var/cache/nginx/proxy_temp
--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp
--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp
--http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx
--with-http_ssl_module --with-http_realip_module --with-http_addition_module
--with-http_sub_module --with-http_dav_module --with-http_flv_module
--with-http_mp4_module --with-http_gzip_static_module
--with-http_random_index_module --with-http_secure_link_module
--with-http_stub_status_module --with-mail --with-mail_ssl_module
--with-file-aio --with-ipv6
Заранее спасибо.. устал читать мануалы и тыкать "туда-сюда"...
Posted at Nginx Forum: http://forum.nginx.org/read.php?21,236280,236280#msg-236280
Подробная информация о списке рассылки nginx-ru