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