Current time: 11-22-2024, 09:30 PM Hello There, Guest! (LoginRegister)


Post Reply 
 
Thread Rating:
  • 5 Votes - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
ispCP & nginx
Author Message
Kursor Offline
Newbie
*

Posts: 5
Joined: Jan 2010
Reputation: 0
Post: #21
RE: ispCP & nginx
есть маньяки ставившие это на рабочий сервер? думаю щас бэкапнусь и попробую поставить...
01-26-2010 12:30 AM
Find all posts by this user Quote this message in a reply
koffu Offline
Junior Member
*

Posts: 80
Joined: Jan 2010
Reputation: 1
Post: #22
RE: ispCP & nginx
Есть, я! Big Grin Доделывать ещё буду, планирую добавить поддержку поддоменов, веб морду, персональные настройки для доменов в MySQL. Может что-то ещё, предлагайте. Все вопросы можно на форум, в личку или на мыло.
Новая версия, тестируем. Список изменений ниже, не айс, знаю, сессия.
*vhostconfig splitted by two subs - getparams, genvconf added a lot of comments *added cosmetical changes to generated files:
*changed -client_max_body_size 3M; due to "413 Request Entity too large" error
Собрал в кучу доку, если что-то неверно, просьба указать, кусок с mysql писал из головы.

Quote:Общие сведения и принцип работы:
nginx вешаем на 81, апач на 80 (чтобы не лазить ещё и в конфиг панели), поэтому переключаем через iptables.

Далее в скрипте в голове меняем параметры на свои, добавляем MySQL пользователя для доступа к базе ispcp. Лимиты установлены на "/" и ".php", которые дергают апач. Поставлены под себя на основании конфига сайта большого туроператора, которго часто DDOS-или. При желании менять строки - 70,71. Для фрей и линукса автоматом меняет use kqueue/epoll.

Ещё, в апач будут идти коннекты от 127.0.0.1, поэтому, нужно поставить mod-rpaf, который на основании заголовков nginx HOST будет ставить правильную инфу в access.log. Траффик через nginx панелью считаться НЕ БУДЕТ!

Порядок установки:
Установка nginx
aptitude install libpcre3-dev libssl-dev
./configure --with-http_realip_module --with-http_addition_module --with-http_gzip_static_module --with-http_stub_status_module && make -j2 && make install

После установки nginx создаём пользователя в MySQL базе.
# mysql -u root -p ispcp
mysql> grant all on ispcp.domain to 'nginx'@'localhost' identified by 'your password';
mysql> grant all on ispcp.subdomain to 'nginx'@'localhost' identified by 'your password';
mysql> flush privileges;

После запускаем скрипт
# ./ispcp-nginx.pl
Writing global nginx configuration...done
Writing nginx virtual hosts configuration...
Converting site1.com.ua
Converting site2.in.ua
done

Проверяем синтаксис файлов конфигурации
# /usr/local/nginx/sbin/nginx -t
the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
configuration file /usr/local/nginx/conf/nginx.conf test is successful

Если nginx работает, делаем так:
# killall -s HUP nginx

Переключаем входящий траффик на nginx
# iptables -t nat -A PREROUTING -s ! 127.0.0.1 -d 192.168.0.1 -p tcp --dport 80 -j REDIRECT --to-ports 81


Attached File(s)
.gz  ispcp-nginx.pl.gz (Size: 2.83 KB / Downloads: 21)
(This post was last modified: 01-26-2010 02:52 AM by koffu.)
01-26-2010 01:55 AM
Find all posts by this user Quote this message in a reply
koffu Offline
Junior Member
*

Posts: 80
Joined: Jan 2010
Reputation: 1
Post: #23
RE: ispCP & nginx
В перле пока ещё практикуюсь, когда буду чувствовать себя perl-гуру, предложу посильную помощь в разработке транка. Может, наработки этой ветки пойдут потом и в транк, кто знает...
По-крайней мере, это теперь тема одной из моих курсовых работ, буду пилить динамичнее, может кому-то будут полезны эти дрова Wink
01-26-2010 04:44 AM
Find all posts by this user Quote this message in a reply
marchaos Offline
Junior Member
*

Posts: 57
Joined: Dec 2009
Reputation: 0
Post: #24
RE: ispCP & nginx
koffu, ну реально сижу на транке, вот killburn пофиксил статистику сегодня http://www.isp-control.net/ispcp/ticket/2180 , я уж намекал как мог что там траблы, собираюсь ставить новый транк (2-ой раз за день). Вижу еще задачи для багфиксов. Это ж 1.0.4 будущая. Неужели мы не сделаем ее рельно красивой и стабильной? Думаю немного патчей-заплаток выпущу как чуток посвободнее стану, может чем помогут. Это ж GPL!!! Пора подмять CPanel и прочее! Смотри, http://www.zubko.co.ua/blogs/ustanovka_m..._na_debian , а то без статистики как то нафиг он нужен тот nginx. Не в обиду.
01-26-2010 04:58 AM
Find all posts by this user Quote this message in a reply
koffu Offline
Junior Member
*

Posts: 80
Joined: Jan 2010
Reputation: 1
Post: #25
RE: ispCP & nginx
Да и с удовольствием помогу помять, куча мыслей по этому поводу, но эту опцию очень уж в последнее время использую. Кризис вынуждает виртуализировать все что только можно, а там голодный апач не ахти.
01-26-2010 05:02 AM
Find all posts by this user Quote this message in a reply
marchaos Offline
Junior Member
*

Posts: 57
Joined: Dec 2009
Reputation: 0
Post: #26
RE: ispCP & nginx
Не будем офтопить тут на тему nginx-a, думаю стоит завести темку по багам tunka и внести свою лепту в разработку. В общем все круто, но не время еще (про nginx).
01-26-2010 05:41 AM
Find all posts by this user Quote this message in a reply
Kursor Offline
Newbie
*

Posts: 5
Joined: Jan 2010
Reputation: 0
Post: #27
RE: ispCP & nginx
Quote:./configure --with-http_realip_module --with-http_addition_module --with-http_gzip_static_module --with-http_stub_status_module && make -j2 && make install
т.е. собираем nginx из исходников?
01-26-2010 06:07 AM
Find all posts by this user Quote this message in a reply
Kursor Offline
Newbie
*

Posts: 5
Joined: Jan 2010
Reputation: 0
Post: #28
RE: ispCP & nginx
апач сам по себе легко "досится" multicurl'ом.1000-2000 потоков,апач начинает жрать память в не реальных кол-вах. ну а дальше понятно... прикручивал nginx фронт-эндом + делал кэширование на один домен. Нагрузка значительно меньше. Сейчас есть машинка не оч. мощная. на ней висит около 70 сайтов с кол-вом просмотров 350-400тыс\сутки. Так вот апачу от этого реально плохо. Малейший ддос и всё, out of memory. Думаю хоть немного облегчить судьбу сервера. чтоб он хотяб минуту-две держал ддос. дальше скрипты банят ботов.
Кстати интересное решение вчера набросал:
как минимум не даст серверу выжрать весь свап и повиснуть.

Quote:DAEMON=apache2
NDAEMON=nginx
while true ;do

if [ `netstat -plan | grep :80 | grep -c tcp` -gt 3000 ]
then killall -9 apache2 && killall -9 nginx
else
pidof $DAEMON || /etc/init.d/$DAEMON start && pidof $NDAEMON || /etc/init.d/$NDAEMON start
fi
sleep 5
done
(This post was last modified: 01-26-2010 06:25 AM by Kursor.)
01-26-2010 06:20 AM
Find all posts by this user Quote this message in a reply
koffu Offline
Junior Member
*

Posts: 80
Joined: Jan 2010
Reputation: 1
Post: #29
RE: ispCP & nginx
Согласен, в посте выше я писал почему собираем из исходников. Повторюсь ещё раз, в стандартной поставке дебиана нет поддержки лимитов скорости и кол-ва соединений. Насчет DDOS, приходилось видеть на очень мощной машине с 8 ядрами Load Average около 500 (у самого зашевелились волосы, когда увидел в uptime такие цифры). Комп этот обслуживал всего навсего 1 сайт, который и ломали по заказу. Процесс логина на сервер занимал около 6 минут, так что апач легко уложит не только low-end железку. В моём конфиге есть параметры limit_zone и limit_req_zone, которые и дают основную вкусность для бюджетного железа. Статика льется на скорости канала, почти ничего не потребляя, а запросы к динамике на апаче лимитированы по частоте и кол-ву одновременных сессий. Запросы к / тоже лимитированы отдельной зоной. Также можно добавлять свои зоны для разных локейшнов, например, к формам поиска. В случае превышения частоты - слегка тормозит обмен данными, а в случае превышения кол-ва соединений с одного ip - 503 Service Unavailable. Поэтому тут можно гибко настроить производительность под свои нужды, причем применять новые параметры без на лету. А без поддержки лимитов роль nginx-a уже не так актуальна.
(This post was last modified: 01-26-2010 06:47 AM by koffu.)
01-26-2010 06:45 AM
Find all posts by this user Quote this message in a reply
Kursor Offline
Newbie
*

Posts: 5
Joined: Jan 2010
Reputation: 0
Post: #30
RE: ispCP & nginx
с алиасами проблема. на одном аккаунте висит несколько сайтов. все лезут за картинками и т.п. к главному домену. Ну это не проблема руками прописать хосты,но 70 штук ужс нах
01-26-2010 07:15 AM
Find all posts by this user Quote this message in a reply
Post Reply 


Forum Jump:


User(s) browsing this thread: 6 Guest(s)