Артем Паньков пишет:
3 запроса в секунду недостаточно чтобы забрались все картинки и цсс.
А в опере они у вас уже прокешировались за время установки движка.
Увеличивайте лимиты.
17.10.09, Станислав<sandel@xxxxxxx> написал(а):
Здравствуйте!
Установил форум phpBB...
Юзаю, браузер "Опера", соответственно устанавливал phpBB этим браузером...
Все стало отлично... Чего-то меня дернуло открыть форум браузером IE .
Версия IE 8.0
И тут наблюдаю странную картину. IE показывает мне страничку в неоформленном
виде. Т.е. без css, без изображений и т.п. Сплошной текст...
Пошел смотреть логи, увидел следующие... При запросе страницы IE аксес логе
такое
.....
94.244.156.213 - - [18/Oct/2009:03:02:13 +0400] "GET /forum/index.php?
HTTP/1.1" 200 4337 "-" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1;
Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR
3.5.30729)" "2.52"
94.244.156.213 - - [18/Oct/2009:03:02:14 +0400] "GET
/forum/style.php?sid=ba7bb6c7f099ea2536f223af61b66790&id=1&lang=en HTTP/1.1"
200 12600 "http://xxxxx.xx/forum/index.php?" "Mozilla/4.0 (compatible; MSIE
8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR
3.0.4506.2152; .NET CLR 3.5.30729)" "-"
.....
в еррор логе выдается такое:
2009/10/18 03:01:03 [warn] 28243#0: *11692 delaying request, excess: 0.118,
by zone "qraagarphp", client: 94.244.156.213, server: xxxxx.xx, request:
"GET /forum/style.php?sid=ba7bb6c7f099ea2536f223af61b66790&id=1&lang=en
HTTP/1.1", host: "xxxxx.xx", referrer: "http://xxxxx.xx/forum/index.php?"
2009/10/18 03:01:03 [warn] 28243#0: *11692 an upstream response is buffered
to a temporary file /var/spool/nginx/fastcgi_temp/0000000020 while reading
upstream, client: 94.244.156.213, server: xxxxx.xx, request: "GET
/forum/style.php?sid=ba7bb6c7f099ea2536f223af61b66790&id=1&lang=en
HTTP/1.1", upstream: "fastcgi://unix:/var/run/php-fpm.sock:", host:
"xxxxx.xx", referrer: "http://xxxxx.xx/forum/index.php?"
2009/10/18 03:01:03 [info] 28243#0: *11692 client timed out (110: Connection
timed out) while sending to client, client: 94.244.156.213, server:
xxxxx.xx, request: "GET
/forum/style.php?sid=ba7bb6c7f099ea2536f223af61b66790&id=1&lang=en
HTTP/1.1", upstream: "fastcgi://unix:/var/run/php-fpm.sock:", host:
"xxxxx.xx", referrer: "http://xxxxx.xx/forum/index.php?"
С Оперой такое не наблюдается вообще...
И при запросе в эррор логе видно только
2009/10/18 02:46:57 [warn] 28243#0: *6907 an upstream response is buffered
to a temporary file /var/spool/nginx/fastcgi_temp/0000000018 while reading
upstream, client: 94.244.156.213, server: xxxxx.xx, request: "GET
/forum/style.php?sid=4f020826524e0a3c7a9931f6af2c6ca1&id=1&lang=en
HTTP/1.1", upstream: "fastcgi://unix:/var/run/php-fpm.sock:", host:
"xxxxx.xx", referrer: "http://xxxxx.xx/forum/"
если я не ошибаюсь, нормальная картина...так?
Спасти эту ситуацию удалось прибавив nodaley к limit_req zone=qraagarphp
burst=1
Но это, мне кажется, не выход, т.к. ддосить будут(
nginx/0.7.61 + php-fpm
========================== config: ==========================
user nginx nginx;
worker_processes 1;
error_log /var/log/nginx/error_log.log info;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
use epoll;
accept_mutex off;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main
'$remote_addr - $remote_user [$time_local] '
'"$request" $status $bytes_sent '
'"$http_referer" "$http_user_agent" '
'"$gzip_ratio"';
access_log /dev/null ;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
server_tokens off;
keepalive_timeout 0;
reset_timedout_connection on;
gzip on;
gzip_min_length 1100;
gzip_buffers 4 8k;
gzip_types text/plain;
client_header_timeout 15;
client_body_timeout 15;
send_timeout 15;
connection_pool_size 256;
client_header_buffer_size 1k;
large_client_header_buffers 4 2k;
request_pool_size 4k;
output_buffers 1 32k;
postpone_output 1460;
ignore_invalid_headers on;
proxy_temp_path /var/spool/nginx/proxy_temp;
fastcgi_temp_path /var/spool/nginx/fastcgi_temp;
client_body_temp_path /var/spool/nginx/client_body_temp;
open_file_cache max=100000 inactive=40s;
open_file_cache_valid 60s;
open_file_cache_min_uses 2;
open_file_cache_errors on;
limit_zone raagar $binary_remote_addr 5m;
limit_req_zone $binary_remote_addr zone=qraagarphp:3m rate=3r/s;
server {
listen 80;
server_name xxxxx.xx xxxx.xxxxx.xx;
access_log /var/log/nginx/xxxxx.xx.access_log main;
error_log /var/log/nginx/xxxxx.xx.error_log info;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /etc/nginx/nginx-dist;
}
limit_conn raagar 32;
location ~ \.php$ {
limit_req zone=qraagarphp burst=1 ;
fastcgi_pass unix:/var/run/php-fpm.sock;
fastcgi_param SCRIPT_FILENAME
/var/www/xxxxx.xx$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}
location / {
root /var/www/xxxxx.xx;
index index.php index.html;
}
}
}
Т.е. ИЕ отдает страницу моментально... ну что, (send_timeout 15;) браузеру
15 секунд не хватает что ли? Ну и так же по конфигу видно, что ограничение
стоит в 3 запроса в секунду с одного АйПи... у меня мой собственный
АйПишник... в логе видно, что запроса всего два, и то, в течении 2 секунд.
Где-то я накосячил?
дык в примере, что не видно, что ограничение касается только php файлов?
location ~ \.php$ {
> limit_req zone=qraagarphp burst=1 ;
> fastcgi_pass unix:/var/run/php-fpm.sock;
> fastcgi_param SCRIPT_FILENAME
> /var/www/xxxxx.xx$fastcgi_script_name;
> include /etc/nginx/fastcgi_params;
> }
или я чего-то не так понял?
|