ISECK LABORATORY
writeln('hello world!');

Servo is the one who considers itself most cleverly...

At copying clauses from our site, leave please a name of the author. The author will be rather grateful to you. Thanks!

Генератор конфигурации apache + nginx

 

apache love nginx (Котелов Валерий)

Рано или поздно владелец сервера сталкивается с проблемой нагрузки на сервер, в основном ее генерируют «медленные пользователи» из за которых Web сервер вынужден долго держать толстые процессы apache – что в свою очередь забивает ОЗУ и свободные дескрипторы.

 

Но решение есть!

Это NGINX (nginx.ru), разработка нашего соотечественника. Пожалуй, самый легкий способ установки и использования nginx – это комбинация его с apache.Т.е создаем схему apache+ nginx.

 

При такой схеме apache будет отдавать отпарсенный контент в nginx, и тут же будет умирать, а у уже nginx будет работать непосредственно с клиентом.

 

От Вас требуется лишь настроить переадресацию портов на сервере для всех айпи адресов (к примеру чтобы все запросы шедшие на 80 порт переадресовывались на 8800, где у нас находился бы nginx, который уже и работает с apache).

 

Самая большая проблема, с которой сталкиваются начинающие пользователи nginx – это правильная его конфигурация. Я предлагаю Вам скрипт генерации конфигурационных файлов, для всех ip адресов расположенных на сервере.

 

Пользоваться им очень легко:

1)Создайте файл ips.txt в которой в каждую новую строку внесите по 1 ip адресу сервера.

#Пример:

#192.168.1.2

#192.168.1.3

#192.168.1.4

#192.168.1.5

2)Измените порт на котором nginx будет слушать сеть, для этого опуститесь

на 75 строчку скрипта и измените значение переменной $port.

 

После чего запустите скрипт в браузере и насладитесь красиво сгенированным конфигурационным файлом , который включает в себя:

  1. Оптимально подобранные настройки производительности и экономии трафика (спасибо Ncore)
    1. Оптимальные таумауты соединений (90 секунд). Вполне хватит даже для пользователей использующих модем.
    2. Полностью отключены логии доступа и ошибок => минимальная нагрузка на файловую подсистему.
    3. Включена статистика обработки данных.Теперь набрав адрес http://IP сервера/nginx-status Вы сможете 1увидеть что сейчас творится на сервере, расшифровка будет ниже.
    4. Включена экономия трафика с помощью Gzip (сжимается текстовая информация), который незначительно «съедает» CPU, но значительно экономит трафик, а также время передачи данных в сети.
  2. Первостепенная защита от DDOS (ограничение соединений – положительно влияет на нагрузку,  и никак не мешает поисковым ботам).
    1. Ограниченно количество соединений, с 1 IP адреса не более 10 соединений.
    2. Ограниченна скорость на 1 соединение (25 kb/s), суммарная скорость с которой может качать 1 ip адрес в 10 потоков составляет 250kb/s.

 

 

1)Для того чтобы видеть статистику у Ваш nginx должен быть скомпилирован с поддержкой модуля stub (*при комиляции добавьте данный параметр: --with-http_stub_status_module)

 При запросе статистики Вы увидите примерно такое:

Active connections: 99
server accepts handled requests
5690747778 5696760748 999889
Reading: 6Writing: 9Waiting: 9999
Секция:
Active connections - сколько обслуживается клиентов.


Секция:
server
accepts - сколько соединений было accept()нуто;
handled - сколько из них было обработано, а не закрыто сразу;
соединение сразу же закрывается, если таблица соединений
переполняется.
requests - сколько облужено запросов. При keep-alive в одном соединении
может быть несколько запросов


Секция:
Reading - сколько соединений находится в состоянии чтения.
Writing - сколько соединений находится в состоянии записи.
Waiting - keep-alive соединения или же в состоянии обработки запроса

 

Возможные проблемы:

В новых версиях nginx изменилось местоположение файла mmie.types, если вдруг при запуске nginx вы увидите ошибку связную с mmie, просто создайте в папке conf еще одну папку conf, в которую скопируйте Ваш файл mime.types.

 

 

Используя конфигурацию полученную в результате работы конфигуратора, Вы избавлаяете себя от необходимости настраивать Virtual Host'ы для каждого из сайтов в nginx.

 

Скачать можно тут.

 

Котелов Валерий 2008-09-14 19:12:09

Dear readers!

Any distribution of materials taken from given site ACCEPTED! We and We shall be rather glad to development of users :) for a freedom of speech if you will leave the comment or will pass the link to clause to the friend.

If you wish to copy clause on the site or the block – please, we shall be rather grateful to you if you will leave a name of the author of clause.

Thanks, we hope for mutual understanding, success ;)

.