nginx/Windows

Elifan elifan2007 на ya.ru
Чт Янв 7 21:35:52 MSK 2010


Приветствую всех, с праздниками!

Сегодня решился поставить на Windows 2003 nginx под эту ОС.
Делать это под cygwin как-то показалось обманчиво для себя и других.

Есть  ряд  замечаний/"затыков".  Приведу  сразу  конфиг,  чтобы  было
понятно о чем беседа.

------- nginx.conf -----------

...
    server {
        listen xx.yy.64.117:80;
        server_name default;

        location / {
           limit_except  GET POST {
              deny   all;
           }

           access_log /work/nginx/logs/default.access.log main;
           root /work/nginx/html;
           rewrite ^/(.*)$ http://maindomain.com   last;
        }

        location /nginx_status {
            stub_status on;
            access_log  off;
            allow xx.yy.249.18;
            deny all;
            }

   }

...

Это  описание  первого вирт хоста. Дальше идут подобные, на том же IP,
только нет rewrite и root другой.

1.   Сначала   обнаружил,   что   ни один сервер не работает. Просто у
клиентов весит подключение, ни ошибки, ничего. В логах даже попыток нет.
Закомментировал   rewrite   в   первом   сервере,   помогло, обращения
попадают в нужные хосты, в логах все видно и хорошо. Расскоментирую
обратно - опять ничего не работает.
Начал разбираться, ну неужели в этом модуле что-то не так и.. наткнулся
на  такой  момент: если перед last; поставить не один пробел, а три (я
в  здравии  и  уме это пишу), то и вирт хосты работают, и редирект
отрабатывает.
Решил  об  этом  написать  здесь,  а  перед этим, провести еще раз все
эксперименты. Попробывал last сменить на break, не три пробела, а два,
сохранить  в  DOS  а  не UNIX и тп. Сначала все указывало что только 3
пробела решают проблему, но...
2.  Три  пробела перестали действовать. Вернул все с начала, с чистого
листка,  тоже  самое.  Комментирование rewrite правила пофиг.
В  общем  теперь  помогает  наличие default при описании дефолтового хоста:
listen xx.yy.64.117:80 default;


Я уже жалею что связался с этим бинарём, в cygwin идти? )


ПС, При тестировании перезапускал nginx:
nginx -s stop
и запускал заново, как просто nginx, так и
start nginx


-- 
С уважением,
 Elifan                          mailto:elifan2007 at ya.ru




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