nginx 1.1.6 под Windows - работает всего 1 подключение

awe007 nginx-forum на nginx.us
Пт Окт 21 15:45:00 UTC 2011


Здравствуйте уважаемые знатоки.
Я впервые настраиваю Nginx и ,естественно,
наступил на какие то грабли.
Проблема в следующем: 
Имеется Windows Server 2008 R2 с установленном на
нём Apache. Всё настроено, все работает, но
медленно.
Естественно для ускорения выбор пал на
Nginx. 

Установил я его, настроил по различным
статьям и мануалам и наблюдаю
следующую проблему: Захожу через
браузер, вроде всё работает и даже
очень быстро, но только для того, кто
первый зашел на сайт. Из других
браузеров я уже не могу подключиться -
беспонечно грузится страница и ничего
не происходит. В первом браузере всё
работает, хожу по сайту.. с других
компьютеров - ничего не работает.. т.е.
кто первый успел, того и сайт.. Не пойму
что не так. Причем у первого сеанса
счастье длится не долго, минут через 5
тоже всё останавливается и ни одна
ссылка сайта не работает :(((( 
Т.е. на примере:
Открываю интернет эксплорер, набираю
там http://site1.ru:888, засхожу, всё идеально
работает! быстро и прекрасно. Открываю
Firefox, набираю там  http://site1.ru:888 - ничего не
открывается, грузится бесконечно.. ни
ошибок, ни контента... Открываю Chrome,
набираю  http://site1.ru:888  - ничего не
открывается.. Возвращаюсь к Internet Explorer -
хожу по ссылкам, всё работает,
грузится.. но через несколько минут всё
перестает работать. 
От браузера ничего не зависит. Если
первым зайти на сайт через файрфокс, то
он может несколько минут ходить по
сайту, а остальные уже нет.. 

Error.log при этом наполняется следующими
строками:

2011/10/21 18:50:40 [debug] 4156#3304: select ready 0
2011/10/21 18:50:40 [debug] 4156#3304: timer delta: 500
2011/10/21 18:50:40 [debug] 4156#3304: posted events 00000000
2011/10/21 18:50:40 [debug] 4156#3304: worker cycle
2011/10/21 18:50:40 [debug] 4156#3304: accept mutex lock failed: 0
2011/10/21 18:50:40 [debug] 4156#3304: select timer: 500
2011/10/21 18:50:41 [debug] 1964#3648: select ready 0
2011/10/21 18:50:41 [debug] 1964#3648: timer delta: 500
2011/10/21 18:50:41 [debug] 1964#3648: posted events 00000000
2011/10/21 18:50:41 [debug] 1964#3648: worker cycle
2011/10/21 18:50:41 [debug] 1964#3648: accept mutex lock failed: 0
2011/10/21 18:50:41 [debug] 1964#3648: select timer: 500
2011/10/21 18:50:41 [debug] 1908#5904: select ready 0
2011/10/21 18:50:41 [debug] 1908#5904: timer delta: 500
2011/10/21 18:50:41 [debug] 1908#5904: posted events 00000000
2011/10/21 18:50:41 [debug] 1908#5904: worker cycle
2011/10/21 18:50:41 [debug] 1908#5904: accept mutex lock failed: 0
2011/10/21 18:50:41 [debug] 1908#5904: select timer: 500
2011/10/21 18:50:41 [debug] 2036#5632: select ready 0
2011/10/21 18:50:41 [debug] 2036#5632: timer delta: 500
2011/10/21 18:50:41 [debug] 2036#5632: posted events 00000000
2011/10/21 18:50:41 [debug] 2036#5632: worker cycle
2011/10/21 18:50:41 [debug] 2036#5632: accept mutex lock failed: 0
2011/10/21 18:50:41 [debug] 2036#5632: select timer: 500
2011/10/21 18:50:41 [debug] 5052#5500: select ready 0
2011/10/21 18:50:41 [debug] 5052#5500: timer delta: 500
2011/10/21 18:50:41 [debug] 5052#5500: posted events 00000000
2011/10/21 18:50:41 [debug] 5052#5500: worker cycle
2011/10/21 18:50:41 [debug] 5052#5500: accept mutex lock failed: 0
2011/10/21 18:50:41 [debug] 5052#5500: select timer: 500
2011/10/21 18:50:41 [debug] 996#2864: select ready 0
2011/10/21 18:50:41 [debug] 996#2864: timer delta: 500
2011/10/21 18:50:41 [debug] 996#2864: posted events 00000000
2011/10/21 18:50:41 [debug] 996#2864: worker cycle
2011/10/21 18:50:41 [debug] 996#2864: accept mutex locked
2011/10/21 18:50:41 [debug] 996#2864: select event: fd:508 wr:0
2011/10/21 18:50:41 [debug] 996#2864: select timer: 500


Помогите советом пожалуйста.. 
Конфиг следующий:

nginx.conf
#укажем пользователя, от имени которого
будет работать nginx
#user  nobody;   

#Теперь скажем nginx-у, какое количество
рабочих процессов породить. Обычно,
хорошим выбором бывает число
процессов, равное числу процессорных
ядер в вашем сервере.
worker_processes  8;   

#куда будут сыпаться логи об ошибках
error_log  c:/nginx/logs/error.log debug;  
pid        c:/nginx/logs/nginx.pid;
worker_rlimit_nofile 80000;
worker_priority  -10;
events {
worker_connections  4096; 
#use select;
}

http {
   include       c:/nginx/conf/mime.types;
   default_type  application/octet-stream;

   log_format  main  
'$remote_addr – $remote_user [$time_local] $status' #Формат
лог-файла
'"$request" $body_bytes_sent "$http_referer" '
   '"$http_user_agent" "http_x_forwarded_for"';
  access_log  "c:/nginx/logs/access.log"  main;

   sendfile        on;
   tcp_nopush     on;
   tcp_nodelay    on;
   #include       /etc/nginx/conf.d/virtual.conf;


#Описываем хосты
# хост site1.ru
   server {
   listen 888;  #IP и порт на котором слушает
nginx
   server_name site1.ru www.site1.ru *.site1.ru;  #указываем
имя и элиасы сайта site1.ru
   server_name_in_redirect  on; 
   access_log  c:/nginx/logs/site1.access.log  main;
   include c:/nginx/conf/proxy.conf;


# Определяем местонахождение и
расширения статичных файлов
      location ~*
^.+\.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|wav|bmp|rtf|js)$
{
      root   d:/sites/site1.ru; #Домашний каталог
сайта site1.ru
      index  index.php  index.html;
      }

# htaccess и htpasswd не отдаем
      location ~ /\.ht {
      deny  all;
      }
   }

# хост site2.ru
server {
   listen 888; 
   #указываем имена нашего сайта
   server_name site2.ru www.site2.ru *.site2.ru;
   server_name_in_redirect  on;
   access_log  c:/nginx/logs/site2.access.log  main;
   include c:/nginx/conf/proxy.conf;


# Определяем местонахождение и
расширения статичных файлов
      location ~*
^.+\.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|wav|bmp|rtf|js)$
{
      root   d:/sitenet/site2.ru; #Домашний каталог
сайта site2.ru
  index  index.php  index.html;     
 }

# htaccess и htpasswd снова не отдаем
      location ~ /\.ht {
      deny  all;
      }
   }
}
----------------------------------------------------------------------------------------------------------------------------------
Подключаемый файл proxy.conf
location / {
         proxy_pass         http://127.0.0.1:80/;  #указываем
ip  и порт на котором теперь будет
слушать Apache 
         proxy_redirect     off;
         proxy_set_header Host $host;
         proxy_set_header X-Real-IP $remote_addr;
         proxy_set_header X-Forwarded-For $remote_addr;      
         client_max_body_size       40m;
         client_body_buffer_size    128k;
         proxy_connect_timeout      75;
         proxy_send_timeout         90;
         proxy_read_timeout         90;
         proxy_buffer_size          64k;
         proxy_buffers              8 64k;
         proxy_busy_buffers_size    64k;
         proxy_temp_file_write_size 40m;
    }

Posted at Nginx Forum: http://forum.nginx.org/read.php?21,217012,217012#msg-217012



Подробная информация о списке рассылки nginx-ru