Nginx - страницы грузятся не до конца

M
На сайте с 22.02.2007
Offline
161
7267

Загрузка страниц обрывается и страница не загружается. Такое замечено только при отключенном gzip. Кто нибудь сталкивался с данной проблемой? в какую сторону копать?

конфиг nginx:


user nginx nginx;
worker_processes 2;
worker_rlimit_nofile 80000;
error_log logs/error.log;

pid logs/nginx.pid;

events {
worker_connections 50000;
use epoll;
}


http {
include mime.types;

sendfile on;
tcp_nopush on;
tcp_nodelay on;

keepalive_timeout 65;
server_names_hash_max_size 2048;
server_names_hash_bucket_size 128;

gzip on;

server {
listen 80;
server_name katushka.net;

charset cp1251;

rewrite ^/torrentbar/bar.php/([0-9]+\.png)$ /torrentbar/bar.php?id=$1 last;

location / {
root /home/admin/katushka.net/;
index index.php;
}

error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
error_page 404 /404error.php;

location ~ \.php$ {
root /home/admin/katushka.net/;
fastcgi_pass 127.0.0.1:1026;
fastcgi_index index.php;
fastcgi_intercept_errors on;
fastcgi_param SCRIPT_FILENAME /home/admin/katushka.net$fastcgi_script_name;
include fastcgi_params;
}

location = /mails.php {
root /home/admin/katushka.net/;
fastcgi_pass 127.0.0.1:1026;
fastcgi_index index.php;
fastcgi_intercept_errors on;
fastcgi_param SCRIPT_FILENAME /home/admin/katushka.net$fastcgi_script_name;
include fastcgi_params;
gzip off;
}
}
server {
listen 80;
server_name www.katushka.net;
rewrite ^(.*)$ http://katushka.net$1 permanent;
}
server {
listen 80;
server_name magazinchik.org;

charset cp1251;

location / {
root /home/admin/magazinchik.org/;
index index.php;
}

error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}

location ~ \.php$ {
root /home/admin/magazinchik.org/;
fastcgi_pass 127.0.0.1:1026;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /home/admin/magazinchik.org$fastcgi_script_name;
include fastcgi_params;
}
}
server {
listen 80;
server_name www.magazinchik.org;
rewrite ^(.*)$ http://magazinchik.org$1 permanent;
}

}

Торрент Трекер Катушка - скачать фильмы (http://katushka.net) | SmartProgress - достижение целей (https://smartprogress.do/) Партнерская программа SmartProgress (https://smartprogress.do/affiliate)
[Удален]
#1

Возможно:

On Sun, 4 Dec 2005, Alexey Polyakov wrote:


В примере конфига http://www.sysoev.ru/nginx/docs/example.html
одновременно указываются опции
tcp_nopush on;
tcp_nodelay on;

Однако же они по смыслу вроде взаимоисключающие (а про TCP_CORK в
мануале написано, что нельзя совмещать с TCP_NODELAY)? Или полезно и
то и то указывать?

Да, в Линкусе TCP_CORK (tcp_nopush) и TCP_NODELAY взаимоисключающие, но
nginx проявляет недюженный интеллект, пытаясь совместить преимущества
обеих опций.

"tcp_nopush on" полезно для sendfile(), он в этом случае выводит данные
полными пакетами. После того, как весь запрос обработан, TCP_CORK/TCP_NOPUSH
выключается, что приводит в сбросу последнего неполного пакета.

"tcp_nodelay on" полезно для keep-alive. nginx включает TCP_NODELAY только
по окончании запроса, после которого соединение переходит в состоянии
keep-alive. До этого nginx выводит данные вызовами writev() достаточно
большими порциями для заполнения пакета ("postpone_output 1460"), поэтому
данные должны уходить без задержек и TCP_NODELAY не нужен. А вот с последним
неполным пакетом может случится небольшая задержка, если соединение не
закрывается. Для этого и нужно включить TCP_NODELAY.

В Линуксе обработка этих двух опций

tcp_nopush on;
tcp_nodelay on;

такова:

1) если данные будут выводить комбинацией writev(заголовок)/sendfile(),
то проверяется, не было ли уже включен TCP_NODELAY. Если было, то
TCP_NODELAY выключается и включается TCP_CORK. По окончании передачи TCP_CORK
выключается. Включать TCP_NODELAY не нужно, так как выключание TCP_CORK
сбрасывает данные.

2) если при переходе в keep-alive TCP_CORK не была включена, то включается
TCP_NODELAY, чтобы сбросить неполный пакет.

Кстати, возможно, для "proxy_buffering off" имеет смысл включать TCP_NODELAY
до отдачи ответа.

А вообще советую глянуть тут и тут

Boris A Dolgov
На сайте с 04.07.2007
Offline
215
#2

Папка для временных файлов nginx'a записываема? Что в логах? Что если увеличить буферы?

С уважением, Борис Долгов. Администрирование, дешевые лицензии ISPsystem, Parallels, cPanel, DirectAdmin, скины, SSL - ISPlicense.ru (http://www.isplicense.ru/?from=4926)
M
На сайте с 22.02.2007
Offline
161
#3

Все дело было в правах. У папки fastcgi_temp и внутри лежащих файлов был владелец nobody (раньше у nginx был такой пользователь), изменил владельца папки и фалов на nginx и все заработало

RAS
На сайте с 27.11.2005
Offline
126
RAS
#4

Какая версия nginx у вас ?

Администрируем сервера, впс, вдс. Ускоряем загрузку сайтов - DLE, Word Press, Joomla, Modx... Настраиваем безопасность. Ручная чистка rootkit/malware/вирусов. (/ru/forum/867860) Разработка - shell/bash/sh/python/perl.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий