Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » nginx + Apache 1.3 + Windows

Модерирует : lynx, Crash_Master, dg, emx, ShriEkeR

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

Medik21r



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Я понимаю что это очень экзотичная связка... но всё же.
 
Есть веб сервер на Windows Server 2003.
Стоит Apache 1.3 + PHP 5.2.8 + MySql 5.1
 
Подскажите пожалуйста, как правильно связать всё это.
Задача: разгрузить Apache при отдаче статического контента.

Всего записей: 36 | Зарегистр. 08-04-2008 | Отправлено: 02:19 13-04-2009 | Исправлено: Medik21r, 02:20 13-04-2009
Ruza



Gold Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Скачиваем nginx-for-windows, устанавливаем.
Читаем Конфигурация frontend к Apache

----------
Fools rush in where angels fear to tread.

Всего записей: 5472 | Зарегистр. 10-09-2003 | Отправлено: 10:18 13-04-2009
Medik21r



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ruza
У меня htdocs находится на диске D, а nginx устанавливается строго в С.
 
Я так понял что для Apache 1.3 нужно поставить mod_realip.
В архиве с модулем есть только mod_realip.c
Это можно прикрутить на Апач, или этот файл только для nix систем?

Всего записей: 36 | Зарегистр. 08-04-2008 | Отправлено: 11:45 13-04-2009 | Исправлено: Medik21r, 12:02 13-04-2009
Medik21r



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Нашел модуль mod_realip для Apache 1.3 под Windows здесь: http://www.gknw.de/development/apache/
Хороший ресурс.
Папку htdocs перенесу на диск C символической ссылкой ntfs.
Думаю что у меня должно всё получится.
 
Спасибо всем кто помог.

Всего записей: 36 | Зарегистр. 08-04-2008 | Отправлено: 22:29 14-04-2009
Medik21r



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Не могу настроить mod_realip
 
Вот что пишет в error.log Apache:

Код:
[Sun Apr 19 13:37:55 2009] [error] Cannot remove module mod_realip.c: not found in module list

 
В httpd.conf прописал:

Код:
LoadModule realip_module modules/mod_realip.so
#AddModule mod_realip.c

 

Код:
#
# Configuration for mod_realip
<IfModule mod_realip.c>
    RealIP on
</IfModule>
# End of mod_realip.

 
После остановки Apache в error.log Apache пишет так же:

Код:
[Sun Apr 19 14:05:37 2009] [error] Cannot remove module mod_realip.c: not found in module list

 
Так не понял, куда нужно скопировать файл mod_realip.c
 
 
=======================================================
Добавлено:
Помог модуль mod_rpaf
http://www.gknw.net/development/apache/apache-1.3/win32/modules/mod_rpaf-0.3-w32.zip
 
Вот что пришлось прописать в httpd.conf:
 
В секцию где прописаны LoadModule в самый низ:

Код:
LoadModule rpaf_module modules/mod_rpaf.so
 
<IfModule mod_rpaf.c>
RPAFenable On
RPAFproxy_ips 127.0.0.1
RPAFsethostname On
</IfModule>

 
В секцию где прописаны AddModule в самый низ:

Код:
AddModule mod_rpaf.c

Всего записей: 36 | Зарегистр. 08-04-2008 | Отправлено: 14:08 19-04-2009 | Исправлено: Medik21r, 16:33 19-04-2009
Ruza



Gold Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
Я так понял что для Apache 1.3 нужно поставить mod_realip.  

Зачем? Но раз надо то стоит посмотреть вот этот архив...
Тут скорее надо вот этот модуль...
 

Цитата:
Так не понял, куда нужно скопировать файл mod_realip.c

В никуда - это для nix... А mod_realip.so из приведеённого выше архива копировать сюда x:\Apache install dir\modules


----------
Fools rush in where angels fear to tread.

Всего записей: 5472 | Зарегистр. 10-09-2003 | Отправлено: 16:24 19-04-2009 | Исправлено: Ruza, 16:28 19-04-2009
Medik21r



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ruza спасибо за ответ.
 
Я уже поставил mod_rpaf.
На тестовом сервере вроде как работает.
Буду внедрять на основном сервере.

Всего записей: 36 | Зарегистр. 08-04-2008 | Отправлено: 16:31 19-04-2009
Ruza



Gold Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Medik21r
Вот ещё статейка я по ней настраивал когда то правда под nix но я думаю разберёшся относительно настройки nginx.
http://www.redhat-club.org/Articles/DenisFrolov/Nginx_frontend_apache

----------
Fools rush in where angels fear to tread.

Всего записей: 5472 | Зарегистр. 10-09-2003 | Отправлено: 17:43 19-04-2009
Medik21r



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Столкнулся с проблемой, которая была с Apache.
NGINX набирает большое количество запросов, и перестает реагировать на запросы.
Конфиг "сборная солянка", возможно что то настроил не так.
 
Конфиг:

Код:
#user  nobody;
worker_processes  2;
 
timer_resolution 100ms;
 
worker_rlimit_nofile 8192;
 
worker_priority -5;
 
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
#pid        logs/nginx.pid;
 
events {
        worker_connections  2048;
    }
 
 
http {
    include       mime.types;
    default_type  application/octet-stream;
 
    sendfile        on;
    keepalive_timeout  65;
 
    gzip  on;
    gzip_min_length 1100;
    gzip_buffers 64 8k;
    gzip_comp_level 3;
    gzip_http_version 1.1;
    gzip_proxied any;
    gzip_types text/plain application/xml application/x-javascript text/css;
 
 
# Сервер 21 Регион ==============================================================================
    server {
        listen       80;
        server_name  21refion.org www.21region.org;
        #charset koi8-r;
        access_log  logs/portal.access.log;
 
        location / {
 
            client_max_body_size  200M;
            client_body_buffer_size    16k;
 
            proxy_pass http://127.0.0.1:8081;
            root  html/htdocs;
            index  index.php;
            proxy_set_header Host $host;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Real-IP $remote_addr;
            }
 
        location  ~* \.(gif|jpg|jpeg|png|bmp|ico|js|css|txt|xml|swf|flv|mp3|aac|mp4|wmv|avi|mpg|mpeg
|mov)$ {
            root  html/htdocs;
            access_log   off;
            expires      1d;
            }
        
        location  ~* \.(ver|nup|avc|avz|dat|ini|kdc|kdl|kdz|kdb|kln|lst|mft|set|stt|xml)$ {
            root  html/htdocs;
            access_log   off;
            }
        
        location  ~* \.(doc|pdf|rtf|xls|zip|rar|exe|7z|msi|gz|bz2|iso)$ {
            root  html/htdocs;
            access_log  logs/download.log;
            }
 
        error_page   500 502 503 504  /50x.html;
            location = /50x.html {
            root   html;
            }
 
        location = /stat {
            stub_status on;
            access_log  off;
            allow all;
            deny all;
          }
 
        }
# Сервер 21 Регион конец =============================================================
 
# Форум ==============================================================================
    server {
        listen       80;
        server_name  forum.21region.org;
        access_log  logs/forum.access.log;
 
    # Main location
        location / {
        proxy_pass         http://127.0.0.1:8081/;
        proxy_redirect     off;
 
        proxy_set_header   Host         $host;
        proxy_set_header   X-Real-IP        $remote_addr;
        proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
 
        client_max_body_size       10m;
        client_body_buffer_size    128k;
 
        proxy_connect_timeout      90;
        proxy_send_timeout         90;
        proxy_read_timeout         90;
 
        proxy_buffer_size          4k;
        proxy_buffers              4 32k;
        proxy_busy_buffers_size    64k;
        proxy_temp_file_write_size 64k;
        }
 
        # Static files location
        location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|
midi|wav|bmp|rtf|js)$ {
        root   html/htdocs/forum;
        }
 
    }
# Форум конец ======================================================================
 
}

 
 
Тут:

Код:
        location  ~* \.(ver|nup|avc|avz|dat|ini|kdc|kdl|kdz|kdb|kln|lst|mft|set|stt|xml)$ {
            root  html/htdocs;
            access_log   off;
            }

Сделал выдачу антивирусных обновлений.
Так же запретил запрос к этой папке из вне, т.к. из за этого сильно был загружен Apache.
Вероятнее всего запросы продолжают идти, и забивают запросами NGINX.
 
Подскажите пожалуйста, как оптимально настроить конфигурацию.
 
Пока сделал keepalive_timeout  10;, не знаю поможет ли.

Всего записей: 36 | Зарегистр. 08-04-2008 | Отправлено: 16:22 20-04-2009
Ruza



Gold Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Medik21r

Цитата:
перестает реагировать на запросы.  

А в логах что? А у тебя запрещены... Разреши логирование ошибок и смотри что напишет...

----------
Fools rush in where angels fear to tread.

Всего записей: 5472 | Зарегистр. 10-09-2003 | Отправлено: 16:56 20-04-2009
Medik21r



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Куча записей:

Код:
2009/04/20 20:48:34 [alert] 1436#0: select ready != events

 
Так же:

Код:
2009/04/20 20:50:26 [crit] 5656#0: close() socket 23 failed (4: Interrupted system call
 
 
2009/04/20 20:53:36 [crit] 6268#0: close() socket 11 failed (4: Interrupted system call)
2009/04/20 20:53:36 [crit] 6268#0: close() socket 18 failed (4: Interrupted system call)
2009/04/20 20:53:37 [crit] 6268#0: close() socket 59 failed (4: Interrupted system call)

 
В Apache ничего особого, но много записей такого рода:

Код:
[Mon Apr 20 19:59:07 2009] [error] [client 93.124.28.53] client denied by server configuration: d:/server/apache/htdocs/avp/index/6/u0607g.xml.dif

Это я запретил через .htaccess доступ к антивирусным обновлениям извне, разрешив скачивать только пользователям локальных сетей. (Канал не выдерживает...)

Всего записей: 36 | Зарегистр. 08-04-2008 | Отправлено: 20:52 20-04-2009 | Исправлено: Medik21r, 21:00 20-04-2009
Ruza



Gold Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Medik21r
ставим nginx.conf

Цитата:
error_log  logs/error.log  info;

А то не совсем понятно чего оно там "интераптит"
 

Цитата:
[Mon Apr 20 19:59:07 2009] [error] [client 93.124.28.53] client denied by server configuration: d:/server/apache/htdocs/avp/index/6/u0607g.xml.dif

А вот это уже в настройки апача смотри почему запрещен доступ


----------
Fools rush in where angels fear to tread.

Всего записей: 5472 | Зарегистр. 10-09-2003 | Отправлено: 22:09 20-04-2009 | Исправлено: Ruza, 22:09 20-04-2009
Medik21r



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Лог
 
 
===================================================================
Добавлено:
Ошибку:

Код:
2009/04/20 23:42:41 [crit] 6352#0: close() socket 8 failed (4: Interrupted system call)

Дает эта запись в конфиге:
timer_resolution 100ms;
 
Без этой записи nginx зависает... с ней пишет в логи:

Код:
2009/04/21 14:36:37 [crit] 4296#0: close() socket 51 failed (4: Interrupted system call)
2009/04/21 14:36:37 [crit] 9088#0: close() socket 34 failed (4: Interrupted system call)
2009/04/21 14:36:38 [crit] 4296#0: close() socket 18 failed (4: Interrupted system call)
2009/04/21 14:36:38 [crit] 9088#0: close() socket 23 failed (4: Interrupted system call)
2009/04/21 14:36:39 [crit] 4296#0: close() socket 23 failed (4: Interrupted system call)
2009/04/21 14:36:39 [crit] 9088#0: close() socket 23 failed (4: Interrupted system call)

 
Но работает очень даже не плохо.
Значительно улучшилась скорость работы сайта.

Всего записей: 36 | Зарегистр. 08-04-2008 | Отправлено: 22:59 20-04-2009 | Исправлено: Medik21r, 14:42 21-04-2009
Medik21r



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вышла первая бинарная версия NGINX под Windows, представленная на ReMIX09.
Скачать можно тут.
 
Попробую установить вместо http://www.kevinworthington.com/nginx-for-windows/

Всего записей: 36 | Зарегистр. 08-04-2008 | Отправлено: 14:40 21-04-2009 | Исправлено: Medik21r, 14:40 21-04-2009
Medik21r



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Версия под Windows пошла на ура.
 
Однако время от времени лог файл забивается этим:

Код:
select() failed (10038: Сделана попытка выполнить операцию на объекте, не являющемся сокетом)

Логи расутут до тех пор, пока не кончается свободное место на жестком диске.
 
Не могу понять что может служить причиной

Всего записей: 36 | Зарегистр. 08-04-2008 | Отправлено: 23:40 21-04-2009 | Исправлено: Medik21r, 10:26 22-04-2009
Medik21r



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Я кажется понял в чем была моя большая ошибка.
Дело в том, что в конфиге Apache была настройка Port, так вот, я упустил её из виду, и там стоял по прежнему 80 порт, вместо 81, который я выбрал для Apache в Listen.
Так же я не указывал точный порт в виртуальных хостах.
 
Сейчас я ещё раз запустил NGINX и Apache, настроив всё аккуратно и как нужно.
За 10 минут работы не было ни одного crit в логе NGINX, раньше же моментально сыпалось что то вроде:

Код:
2009/04/21 14:36:37 [crit] 4296#0: close() socket 51 failed (4: Interrupted system call)

 
Попозже отпишу результат, как NGINX покажет себя в работе.

Всего записей: 36 | Зарегистр. 08-04-2008 | Отправлено: 01:50 28-04-2009
Medik21r



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
По прежнему запись в лог :

Цитата:
2009/04/28 08:43:17 [alert] 608#2892: select() failed (10038: Сделана попытка выполнить операцию на объекте, не являющемся сокетом)
2009/04/28 08:43:17 [alert] 608#2892: select() failed (10038: Сделана попытка выполнить операцию на объекте, не являющемся сокетом)
2009/04/28 08:43:17 [alert] 608#2892: select() failed (10038: Сделана попытка выполнить операцию на объекте, не являющемся сокетом)
2009/04/28 08:43:17 [alert] 608#2892: select() failed (10038: Сделана попытка выполнить операцию на объекте, не являющемся сокетом)
2009/04/28 08:43:17 [alert] 608#2892: select() failed (10038: Сделана попытка выполнить операцию на объекте, не являющемся сокетом)
2009/04/28 08:43:17 [alert] 608#2892: select() failed (10038: Сделана попытка выполнить операцию на объекте, не являющемся сокетом)
2009/04/28 08:43:17 [alert] 608#2892: select() failed (10038: Сделана попытка выполнить операцию на объекте, не являющемся сокетом)
2009/04/28 08:43:17 [alert] 608#2892: select() failed (10038: Сделана попытка выполнить операцию на объекте, не являющемся сокетом)
2009/04/28 08:43:17 [alert] 608#2892: select() failed (10038: Сделана попытка выполнить операцию на объекте, не являющемся сокетом)
2009/04/28 08:43:17 [alert] 608#2892: select() failed (10038: Сделана попытка выполнить операцию на объекте, не являющемся сокетом)

Всего записей: 36 | Зарегистр. 08-04-2008 | Отправлено: 13:35 28-04-2009
Medik21r



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Изменения в nginx
0.7.54    01.05.2009
Добавление: модуль ngx_http_image_filter_module.
Добавление: директивы proxy_ignore_headers и fastcgi_ignore_headers.
Исправление: при использовании переменных "open_file_cache_errors on" в рабочем процессе мог произойти segmentation fault; ошибка появилась в 0.7.53.
Исправление: директива "port_in_redirect off" не работала; ошибка появилась в 0.7.39.
Исправление: улучшение обработки ошибок метода select.
Исправление: ошибки "select() failed (10022: ...)" в nginx/Windows.
Исправление: в текстовых сообщениях об ошибках в nginx/Windows; ошибка появилась в 0.7.53.

 
Обновился до 0.7.54
Пока полет нормальный. Кажется что Игорь Сысоев обратил внимание на данную ошибку и пофиксил её.

Всего записей: 36 | Зарегистр. 08-04-2008 | Отправлено: 13:11 04-05-2009 | Исправлено: Medik21r, 13:44 04-05-2009
rslomega



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть несколько дополнений к версии nginx для Windows
в виде отдельных программ:
 
1. Комплект для установки как сервис.
2.  Утилита  для  конвертации  конфигов Апача для виртуальных хостов в
конфиги nginx.
3. Приложение в трей, которое позволяет видеть состояние сервера nginx
и управлять им.
 
Addons для nginx:
NG_SRVINST
NG_SITE
NG_TRAY

Всего записей: 3 | Зарегистр. 01-08-2005 | Отправлено: 15:15 26-07-2010 | Исправлено: rslomega, 15:16 26-07-2010
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » nginx + Apache 1.3 + Windows


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru