nginx/Windows
Igor Sysoev
igor на sysoev.ru
Пн Фев 1 23:32:13 MSK 2010
On Sun, Jan 31, 2010 at 09:04:08PM +0200, Elifan wrote:
> Здравствуйте, Igor.
>
> Вы писали 9 января 2010 г., 23:05:49:
>
> > On Thu, Jan 07, 2010 at 08:35:52PM +0200, Elifan wrote:
>
> >> Приветствую всех, с праздниками!
> >>
> >> Сегодня решился поставить на 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
>
> > У nginx/Windows есть проблемы, но пробелы на работосопсобность влиять
> > не должны. Нужен отладочный лог.
>
>
>
> В приложенных файлах дебаг лог со запуском и остановом nginx, без
> какой-либо активности, и лог со включенным правилом rewrite и одним запросом.
> Я полистал немного, не смог понять записывает ли он что-то при
> обработке запроса. В access логах пусто при этом, как я и описывал
> раннее.
Запроса там нет вообще. Рекомендуется следущее:
1) взять последнюю 0.8.x версию, то есть, 0.8.33;
2) задать только один worker;
2) запустить и посмотреть запущенные процессы с помощбю tasklist,
как описано здесь:
http://nginx.org/en/docs/windows.html
--
Игорь Сысоев
http://sysoev.ru
Подробная информация о списке рассылки nginx-ru