RE: ispCP & nginx - SolarW - 02-27-2010 07:29 AM
Офтопим...
Я канешна чайник по большому счету но знакомые слова вижу 
Столкнула судьба с такой CMS-кой как Битрикс.
CMS-ка умеет дофигища и как следствие достаточно громоздкая.
Авторы памятую об этом в последние билды встроили чудный инструмент для анализа производительности системы.
Попробовал поставить на не оптимизированный LAMP - так себе шевелится.
Добавил eAccelerator - бодрее забегала.
Скачал подготовленную авторами виртуалку под Вмварь - дык однако летает.
Вот в этой виртуалке похоже реализована максимальная оптимизация LAMP'а.
nginx, zend, eaccelerator и прочее.
Так что если кому-то интересно - можете скачать, поковыряться...
RE: ispCP & nginx - data-stream_ru - 02-27-2010 09:05 AM
marchaos
Планируемое и реально получившееся не одно и то же.
С nginx-ом решений и кеонфигов может быть очень много.
Самое простое и юзабельное от koffu. Вот его мы и будем доводить и вбрасывать буржуям со своими копирайтами. На первых порах.
Это решение даёт ощутимый, но небольшой выигрыш.
Если я наконец перестану флудить с буржуями и доведу дело до конца.
Я пошёл дальше, переложив львиную долю нагрузок с апача на fast-cgi. И столкнулся с массой проблем. Но решаемо.
Это следующий этап. И он даёт выигрыш на 80%, по крайней мере в пиках моего главного сервера.
И третий вариант - вообще отказ от апача. Но по вышеизложенным причинам это годится только для бесплатных хостингов. Хотя реализуется очень просто - меняются шаблоны апача и конфиги создаются для nginx в других папках. Минимум вмешательства в панель.
Сделаю, когда озабочусь бесплатным хостингом у себя. Давно собираюсь.
Да, исчо для малых ВПС очень актуально.
> Спор бессмысленен так я не знаком с предметом спора
Предмет спора установлен на Яндекс, Рамблер, Мамба.ру, Майл.ру и другие высокотрафиковые ресурсы.
Потребители говорят за продукт.
Проблема тут только в том, что им панель не нужна. у них не токмо по одному сайту на сервак, у них на один сайт несколько серваков. И им не надо беспокоится об удобстве клиентов хостинга и совместимости с апачем и зендом. Им эти моменты просто пох.
> Если nginx это не кеширование то что же?
Это вот что -
google.ru
"nginx"
> Я думаю если бы он был так хорош то процент серверов его использующих был бы около 100
Вы мыслите как этот националист немецкий, как его тама...
Который меряет качество продукта % использования.
Я ему объяснил уже в доходчивых выражениях, что самая надёжная система это виновс, а самые клёвые бабы это проститутки, потому чито у них много юзеров. А ролс-ролс и ферари это очень плохие тачки, т.к. у них мало юзеров.
А дорогие рестараны имеют прроблемы с безопасностью, по сравнению с мак-данальдсом.
И ещё поросил не смешить мои тапочки.
> Кстати для Apache есть модули которые nginx заменяют.
Ага, а для макдональдса есть добрый доктор с клизмой.
> apache22 плюс eaccelerator+Zend Optimizer
Вот на эту тему можно поподробнее плиз?
Я на зенде потерял несколько дней работы, как и на акселераторе.
> но есть и обратная сторона медали, недостатки о который не раз уже говорилось - медлительность, неповортливость, требование к памяти
Я бы чуток поправил, коллега. Мона?
Апач самый скорострельный сервак. Дапже без mod_fcgi. Если у вас 4 проца, 8 магабаит рама и один сайт со 100 посетителями в сутки. И конечно же вас ни кто не Ддосит.
Тут апач даст фору всем.
Как только на сервак начинаются нагрузки, апач тормозит, происходит утечка памяти и наконец апач валится. Или в зависимости от конфига системы, начинают валится малозначительные процессы. Вроде моего check_sys (подозреваю именно апач отключает обработку перла как только ему начинает не хватать ресурсов). В
результате имеем параметры хостинга от агавы. Или ещё хуже.
Здесь решение сначала одно -
Отдать обработку статики более простому и лёгкому серверу и освободить апач от удержания медленных конектов. Апачу оставить только скрипты.
Но дальше встаёт задача отнять у апача часть скриптов и передать их независимому скрипт-серверу.
Дальнейшее решение - полный отказ от апача. Как на рамблере и яндексе.
Но ещё раз, на комерческих хостингах это невозможно!
В остальном, коллега вам всё объяснил. Подробности спросите у яндекса.
Я думаю если коллега отнесётся к теме так же серьёзно как и я, то вы все вскоре сможите увидеть разницу. Разогнав хостинг на целероне до двухпроцессорной тачки даже без фри-бздя.
> CMS-ка умеет дофигища и как следствие достаточно громоздкая.
Я хупс на связке не сог заставить работать. Пришлось отдать его апачу. А ведь сцуко жрёт 23% двухядерного цпу!
> Скачал подготовленную авторами виртуалку под Вмварь - дык однако летает.
Вот в этой виртуалке похоже реализована максимальная оптимизация LAMP'а.
nginx, zend, eaccelerator и прочее.
Поподробнее плиз, это с чем едят и какие там принципы взаимодействия.
Ещё раз,
для панели мы будем двигать ренение от koffu с некоторыми модификациями и исправлениями, до которых я сейчас дойду путём интенсивоной работы над проектом
Это даст 20-30% прироста мощности. Немного, зато просто, быстро и дёшево.
Свои 80% я оставлю для особо продвинутых, кто не задат дурацких вопросов и умеет гуглить и решать частные проблемы сам. Это будет просто демонстрация как можно путём честной конкурентной борьбы заработать себе на новую БМВуху. Конечно ламера хотят но не могут, а кому до них дело то есть? Ыть?
Ах да, кстати, думаю коллега согласится, что бесплатно раздавать решения, позволяющие выиграть 80% бюджета хостинг-компаний не совсем разумно 
Думаю стоит обсудить ряд моментов в привате.
RE: ispCP & nginx - marchaos - 02-27-2010 10:14 AM
Так бы и сказали что это веб прокси сервер. А IMAP/POP3-прокси сервер в нагрузку идет? IMAP/POP3 с панельными как взаимодействует? Честно скажу не знаю может для вебсервера это проксирование работает замечательно, но у нас уже все нормальные провайдеры от использования прокси-серверов отказались (Squid как правило), так как при больших нагрузках загрузка страниц происходит очень медленно. Тут же не понятно... в памяти все хранит? И сколько ж ему памяти тогда надо? Как правило думаю nginx реально рулит для какого то отдельного сайта (одного на сервере или 2-х,3-х и т.д. серверах) с огромной посещаемостью. И все же прокси - это кэш. Можете озвучить конкретные цифры по использованию памяти, процессора, ускорению загрузки страниц и т.п.?
RE: ispCP & nginx - data-stream_ru - 02-27-2010 10:56 AM
> Так бы и сказали что это веб прокси сервер
Бля, а линк на яндекс вам не скинуть?
Опять же вы ни фига не поняли.
Его моржно загнать в режим прокси. И выиграть 3-10% мощности.
Его можно загнать в режитм обработки сьтатики и выиграть 30% мощности. Ну примерно. На среднем сайте который отдаёт скрипты и камртинки.
Его можно загнать в режим отдачи php-cgi. И выиграть 80% мощности.
Его можно установить ваще без апача и выиграть 200%-400% мощности.
Всё зависит от ваших рук! Ну и конечно ваших целей и задач. Кое где такое решение просто невозможно. Например на комерческих хостингах, где надо обеспечить совместимость .htaccess
> . А IMAP/POP3-прокси сервер в нагрузку идет?
А вы это о чём?
Как имап протоколы валияют на скрость отдачи страниц по http?
Думаю кто то их нас двоих просто ламер 
Извините, дальше ответы просто приостановил.
Как и чтение ваших постов.
Когда освоите основы линукса, приходите, поговорим.
RE: ispCP & nginx - marchaos - 02-27-2010 11:03 AM
nginx [engine x] — это HTTP-сервер и почтовый прокси-сервер. http://sysoev.ru/nginx/
Имелось ввиду нафик он там нужен этот почтовый и не мешает ли он уже работающим IMAP/POP3. 80% мощности наверно это то что нужно. Нельзя перегибать палку в ущерб работоспособности сайтов. Отказ от .htaccess это чревато.
(02-27-2010 10:56 AM)data-stream_ru Wrote: Думаю кто то их нас двоих просто ламер 
Извините, дальше ответы просто приостановил.
Как и чтение ваших постов.
Когда освоите основы линукса, приходите, поговорим.
Да нет спасибо, думаю не понадобится. Это уже не входит в наши пририотеты.
RE: ispCP & nginx - data-stream_ru - 02-27-2010 11:57 PM
Как скомпилишь так и будет. Хошь с SSL, Хошь без SSL.
Я почту не использовал, и даже только сейчас вспомнил что там это есть. Почта на хрен не нужна.
> Отказ от .htaccess это чревато
Фишка в том, что у nginx свой модуль реврайта и есть готовые заморочки для всех используемых двигов типа джомлы и прочего.
Только это не совместимо с апачевским.
Поэтому и пришлось передавать обработку статичных html апачу, так же как и корней папок.
На бесплатном хостинге можно сказать людям "да пошли вы нахрен со своими реврайтами. У кого джомла, кидайте свои установки, включим в настройку. А ваще переходите на наш платный хостинг там реврайты апачевские работают" 
На счёти ламера я вчера перегнул, извините, пьян был слегонца. Буржуи нервы совсем накалили.
Итак, обещенные конфиги думаю доведу на днях, если буржуи на флейм силы оттягивать прекратят.
Скажу лишь, что в апач я добавил mod_rpaf это необходимо для передачи истинных ипов между nginx и индейцем.
Возник конфликт между mod_rpaf и mod_proxy
Выключил последний, т.к. обратное проксирование реализовал через nginx
Это иногда бывает надо.
Например, есть два сайта scanerlink.ru и scanerlink.info
Контент почти одинаков, но в зависимости от домена несколько меняется скриптами.
Всё сделано на одной папке, но есть условия.
Так же forum.veterinars.ru включён в Яку как отдельный сайт. А между тем, это лишь часть http://www.veterinars.ru/forum.htm
Вот так я обманываю тындекс.
nginx я компелил с поддержкой SSL повесив на основной порт 443.
Апач SSL перекинул на порт 444.
SSL использую только для панели, но по требованию некоторым пользователям можно включить.
Кстати, XOOPS у меня на php-cgi отказался работать.
Пришлось так же полностью передать его апачу.
Цуко, он жрёт дофига. Если бы не он речь бы шла не о 80% выигрыша а о 100%
Как вы потом увидите, связка весьма гибка и можно настраивать каждый сайт отдельно. Мона и вовсе сделать балансировку и разбрасывать входящие по разным физическим серверам. Но это уже не тема проекта.
Лано, хрен с вами.
Вот вам для затравки пока сырые конфиги.
Мастер конфиг нгинкса для панели.
/usr/local/nginx/conf/nginx.conf
PHP Code:
# nginx config generation script. # Written by Nikolay Yatsyshyn (koffu@ukr.net) for ispcp project. # autogenerated as /usr/local/nginx/conf/nginx.conf file at Fri Feb 12 18:10:53 2010
user apache; worker_processes 5;
error_log /var/log/nginx/error.log info; pid /var/run/nginx.pid;
worker_rlimit_nofile 8192;
events { worker_connections 1024; use epoll; }
http {
#log_format main '$remote_addr - $remote_user [$time_local] "$request" ' # '$status $body_bytes_sent "$http_referer" ' # '"$http_user_agent" "$http_x_forwarded_for"';
#Limits conn/rate limit_conn_log_level warn; limit_zone conn $binary_remote_addr 10m;
limit_req_zone $binary_remote_addr zone=mainpage:10m rate=15r/s; limit_req_zone $binary_remote_addr zone=2proxy:10m rate=30r/s;
#General access_log /var/log/nginx/access.log; server_names_hash_max_size 2048; ignore_invalid_headers on; recursive_error_pages on; sendfile on; server_tokens off;
#TCP tcp_nodelay on; tcp_nopush on;
#MIME include mime.types; default_type application/octet-stream;
#Timeouts keepalive_timeout 5 5; client_body_timeout 15; client_header_timeout 15; send_timeout 15; reset_timedout_connection on;
#Compressing gzip on; gzip_comp_level 5; gzip_http_version 1.0; gzip_vary on; gzip_min_length 1024; gzip_buffers 16 8k; gzip_proxied any; gzip_types text/plain text/css application/x-httpd-php application/x-javascript application/xml;
#Size limits client_body_buffer_size 256k; client_max_body_size 48m; large_client_header_buffers 8 16k;
#Proxy proxy_send_timeout 90; proxy_read_timeout 90; proxy_buffer_size 64k; proxy_buffers 64 256k; proxy_buffering on; proxy_cache_valid 1m; proxy_busy_buffers_size 256k; proxy_temp_file_write_size 256k; proxy_connect_timeout 120s; proxy_redirect off;
# ---------- Host main.data-stream.ru ---------- server {
#charset utf-8;
access_log /var/log/nginx/main.data-stream.ru-access.log; error_log /var/log/nginx/main.data-stream.log warn;
listen 81; server_name main.data-stream.ru www.main.data-stream.ru;
error_page 401 /errors/401.html; error_page 403 /errors/403.html; error_page 404 /errors/404.html; error_page 500 /errors/500.html; error_page 503 /errors/503.html;
# redirect server error pages to the static page /50x.html # error_page 504 /50x.html; location = /50x.html { root html; }
location / { root /var/www/ispcp/gui/; index index.php; }
location ~ \.(pl|cgi)$ { proxy_pass http://127.0.0.1:80; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; }
location ^~ /webmail { alias /var/www/ispcp/gui/tools/webmail/; expires epoch; fastcgi_read_timeout 60; fastcgi_send_timeout 60; fastcgi_intercept_errors on;
fastcgi_pass unix:/var/run/fastcgi/master; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /var/www/ispcp/gui/tools/$fastcgi_script_name;
include /usr/local/nginx/conf/fastcgi_params; }
location ^~ /failmanager { alias /var/www/ispcp/gui/tools/failmanager/; expires epoch; fastcgi_read_timeout 60; fastcgi_send_timeout 60; fastcgi_intercept_errors on;
fastcgi_pass unix:/var/run/fastcgi/master; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /var/www/ispcp/gui/tools/$fastcgi_script_name;
include /usr/local/nginx/conf/fastcgi_params; }
location ^~ /ftp { alias /var/www/ispcp/gui/tools/ftp/; index index.php expires epoch; fastcgi_read_timeout 60; fastcgi_send_timeout 60; fastcgi_intercept_errors on;
fastcgi_pass unix:/var/run/fastcgi/master; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /var/www/ispcp/gui/tools/$fastcgi_script_name;
include /usr/local/nginx/conf/fastcgi_params; }
location ^~ /pma { alias /var/www/ispcp/gui/tools/pma/; #root /var/www/ispcp/gui/tools/; expires epoch;
fastcgi_pass unix:/var/run/fastcgi/master; fastcgi_index index.php; # fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
fastcgi_read_timeout 60; fastcgi_send_timeout 60; fastcgi_intercept_errors on;
fastcgi_param SCRIPT_FILENAME /var/www/ispcp/gui/tools/$fastcgi_script_name;
include /usr/local/nginx/conf/fastcgi_params;
}
location ~ /\.ht { deny all; }
location ~* \.(gif|jpg|jpeg|wmv|avi|mpg|mpeg|mp4|js|css|bmp|csv|doc|epg|gif|ico|odj|mp3|pdf|swf|txt|xls|xcf|iso) { root /var/www/ispcp/gui/; expires 10d; #root /var/www/html/; }
location ~ (\.php|/)$ { # fastcgi_pass 127.0.0.1:8888; expires epoch;
fastcgi_pass unix:/var/run/fastcgi/master; fastcgi_index index.php; # fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
fastcgi_read_timeout 60; fastcgi_send_timeout 60; fastcgi_intercept_errors on;
fastcgi_param SCRIPT_FILENAME /var/www/ispcp/gui/$fastcgi_script_name;
include /usr/local/nginx/conf/fastcgi_params; }
location /check_sys/ { auth_basic "Admin Zone"; # auth_basic_user_file /var/www/check_sys/.htpasswd; root /var/www/; index index.html; }
location ^~ /stats { root /var/www/awstats/; proxy_pass http://78.46.102.101:80; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; }
}
# ---------- Host main.data-stream.ru SSL ----------
server {
access_log /var/log/nginx/main.data-stream.ru-access.log; error_log /var/log/nginx/main.data-stream.log warn;
listen 443;
keepalive_timeout 70;
ssl on; ssl_protocols SSLv3 TLSv1; ssl_ciphers AES128-SHA:AES256-SHA:RC4-SHA:DES-CBC3-SHA:RC4-MD5; ssl_certificate /etc/pki/tls/certs/localhost.crt; ssl_certificate_key /etc/pki/tls/private/localhost.key; ssl_session_cache shared:SSL:10m; ssl_session_timeout 10m;
server_name main.data-stream.ru www.main.data-stream.ru;
error_page 401 /errors/401.html; error_page 403 /errors/403.html; error_page 404 /errors/404.html; error_page 500 /errors/500.html; error_page 503 /errors/503.html;
# redirect server error pages to the static page /50x.html # error_page 504 /50x.html; location = /50x.html { root html; }
location / { root /var/www/ispcp/gui/; index index.php; }
location ~ \.(pl|cgi)$ { proxy_pass http://127.0.0.1:444; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; }
location ^~ /webmail { alias /var/www/ispcp/gui/tools/webmail/; expires epoch; fastcgi_read_timeout 60; fastcgi_send_timeout 60; fastcgi_intercept_errors on;
fastcgi_pass unix:/var/run/fastcgi/master; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /var/www/ispcp/gui/tools/$fastcgi_script_name;
include /usr/local/nginx/conf/fastcgi_params; }
location ^~ /failmanager { alias /var/www/ispcp/gui/tools/failmanager/; expires epoch; fastcgi_read_timeout 60; fastcgi_send_timeout 60; fastcgi_intercept_errors on;
fastcgi_pass unix:/var/run/fastcgi/master; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /var/www/ispcp/gui/tools/$fastcgi_script_name;
include /usr/local/nginx/conf/fastcgi_params; }
location ^~ /ftp { alias /var/www/ispcp/gui/tools/ftp/; index index.php expires epoch; fastcgi_read_timeout 60; fastcgi_send_timeout 60; fastcgi_intercept_errors on;
fastcgi_pass unix:/var/run/fastcgi/master; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /var/www/ispcp/gui/tools/$fastcgi_script_name;
include /usr/local/nginx/conf/fastcgi_params; }
location ^~ /pma { alias /var/www/ispcp/gui/tools/pma/; expires epoch;
fastcgi_pass unix:/var/run/fastcgi/master; fastcgi_index index.php; fastcgi_read_timeout 60; fastcgi_send_timeout 60; fastcgi_intercept_errors on;
fastcgi_param SCRIPT_FILENAME /var/www/ispcp/gui/tools/$fastcgi_script_name;
include /usr/local/nginx/conf/fastcgi_params;
}
location ~ /\.ht { deny all; }
location ~* \.(gif|jpg|jpeg|wmv|avi|mpg|mpeg|mp4|js|css|bmp|csv|doc|epg|gif|ico|odj|mp3|pdf|swf|txt|xls|xcf|iso) { root /var/www/ispcp/gui/; expires 10d;
}
location ~ (\.php|/)$ {
expires epoch;
fastcgi_pass unix:/var/run/fastcgi/master; fastcgi_index index.php; fastcgi_read_timeout 60; fastcgi_send_timeout 60; fastcgi_intercept_errors on;
fastcgi_param SCRIPT_FILENAME /var/www/ispcp/gui/$fastcgi_script_name;
include /usr/local/nginx/conf/fastcgi_params; }
location /check_sys/ { auth_basic "Admin Zone"; # auth_basic_user_file /var/www/check_sys/.htpasswd; root /var/www/; index index.html; }
location ^~ /stats { root /var/www/awstats/; proxy_pass http://78.46.102.101:444; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; }
}
include "/usr/local/nginx/conf/vhosts.conf";
}
Полная обработка всех прилад панели. всё делает nginx без апача.
Думаю копирайт надо чуток подредактировать, если аффтар не против 
Конфиг для виртуальных хостов будет позже.
На что здесь обратить внимание. Я зафакался с подстановками и тупо скопировал всю папку ispcp/gui/errordocs в папку ispcp/gui/errors
Остальное стандартно.
Конфиг ФастЦГИ
/etc/php-fpm.conf
PHP Code:
<?xml version="1.0" ?> <configuration>
All relative paths in this config are relative to php's install prefix
<section name="global_options">
Pid file <value name="pid_file">/var/run/php-fpm.pid</value>
Error log file <value name="error_log">/var/log/php-fpm.log</value>
Log level <value name="log_level">notice</value>
When this amount of php processes exited with SIGSEGV or SIGBUS ... <value name="emergency_restart_threshold">10</value>
... in a less than this interval of time, a graceful restart will be initiated. Useful to work around accidental curruptions in accelerator's shared memory. <value name="emergency_restart_interval">1m</value>
Time limit on waiting child's reaction on signals from master <value name="process_control_timeout">15s</value>
Set to 'no' to debug fpm <value name="daemonize">yes</value>
</section>
<workers>
<section name="pool">
Name of pool. Used in logs and stats. <value name="name">default</value>
Address to accept fastcgi requests on. Valid syntax is 'ip.ad.re.ss:port' or just 'port' or '/var/run/fastcgi/sock' <value name="listen_address">/var/run/fastcgi/sock</value>
<value name="listen_options">
Set listen(2) backlog <value name="backlog">-1</value>
Set permissions for unix socket, if one used. In Linux read/write permissions must be set in order to allow connections from web server. Many BSD-derrived systems allow connections regardless of permissions. <value name="owner">apache</value> <value name="group">apache</value> <value name="mode">0666</value> </value>
Additional php.ini defines, specific to this pool of workers. <value name="php_defines"> <!-- <value name="sendmail_path">/usr/sbin/sendmail -t -i</value> --> <!-- <value name="display_errors">0</value> --> </value>
Unix user of processes <value name="user">apache</value>
Unix group of processes <value name="group">apache</value>
Process manager settings <value name="pm">
Sets style of controling worker process count. Valid values are 'static' and 'apache-like' <value name="style">apache-like</value>
Sets the limit on the number of simultaneous requests that will be served. Equivalent to Apache MaxClients directive. Equivalent to PHP_FCGI_CHILDREN environment in original php.fcgi Used with any pm_style. <value name="max_children">35</value>
Settings group for 'apache-like' pm style <value name="apache_like">
Sets the number of server processes created on startup. Used only when 'apache-like' pm_style is selected <value name="StartServers">2</value>
Sets the desired minimum number of idle server processes. Used only when 'apache-like' pm_style is selected <value name="MinSpareServers">1</value>
Sets the desired maximum number of idle server processes. Used only when 'apache-like' pm_style is selected <value name="MaxSpareServers">10</value>
</value>
</value>
The timeout (in seconds) for serving a single request after which the worker process will be terminated Should be used when 'max_execution_time' ini option does not stop script execution for some reason '0s' means 'off' <value name="request_terminate_timeout">0s</value>
The timeout (in seconds) for serving of single request after which a php backtrace will be dumped to slow.log file '0s' means 'off' <value name="request_slowlog_timeout">0s</value>
The log file for slow requests <value name="slowlog">/var/log/slow.log</value>
Set open file desc rlimit <value name="rlimit_files">1024</value>
Set max core size rlimit <value name="rlimit_core">0</value>
Chroot to this directory at the start, absolute path /var/www/ispcp/gui <value name="chroot"></value>
Chdir to this directory at the start, absolute path <value name="chdir"></value>
Redirect workers' stdout and stderr into main error log. If not set, they will be redirected to /dev/null, according to FastCGI specs <value name="catch_workers_output">yes</value>
How much requests each process should execute before respawn. Useful to work around memory leaks in 3rd party libraries. For endless request processing please specify 0 Equivalent to PHP_FCGI_MAX_REQUESTS <value name="max_requests">500</value>
Comma separated list of ipv4 addresses of FastCGI clients that allowed to connect. Equivalent to FCGI_WEB_SERVER_ADDRS environment in original php.fcgi (5.2.2+) Makes sense only with AF_INET listening socket. <value name="allowed_clients">127.0.0.1</value>
Pass environment variables like LD_LIBRARY_PATH All $VARIABLEs are taken from current environment <value name="environment"> <value name="HOSTNAME">$HOSTNAME</value> <value name="PATH">/var/www/virtual</value> <value name="TMP">/var/tmp</value> <value name="TMPDIR">/var/tmp</value> <value name="TEMP">/var/tmp</value> <value name="OSTYPE">$OSTYPE</value> <value name="MACHTYPE">$MACHTYPE</value> <value name="MALLOC_CHECK_">2</value> </value>
</section>
<section name="pool">
<value name="name">vu2000</value> <value name="listen_address">/var/run/fastcgi/master</value> <value name="listen_options"> <value name="backlog">-1</value> <value name="owner">apache</value> <value name="group">apache</value> <value name="mode">0666</value> </value> <value name="php_defines"> <value name="sendmail_path">/usr/sbin/sendmail -t -i</value> <value name="display_errors">0</value> </value>
<value name="user">vu2000</value> <value name="group">vu2000</value>
<value name="pm">
<value name="style">apache-like</value> <value name="max_children">5</value>
<value name="apache_like"> <value name="StartServers">2</value> <value name="MinSpareServers">1</value> <value name="MaxSpareServers">5</value>
</value>
</value>
<value name="request_terminate_timeout">0s</value> <value name="request_slowlog_timeout">0s</value>
<value name="slowlog">/var/log/slow.log</value>
<value name="rlimit_files">1024</value>
<value name="rlimit_core">0</value>
<value name="chroot"></value> <value name="chdir"></value>
<value name="catch_workers_output">yes</value>
<value name="max_requests">100</value>
<value name="allowed_clients">78.46.102.101</value>
<value name="environment"> <value name="HOSTNAME">$HOSTNAME</value> <value name="PATH">/var/www/ispcp/gui/:/etc/ispcp/:/var/run/ispcp.lock:/proc/:/bin/df:/bin/mount:/var/log/rkhunter.log:/var/log/chkrootkit.log:/usr/share/pear/:/var/www/virtual/</value> <value name="TMP">/var/www/ispcp/gui/phptmp</value> <value name="TMPDIR">/var/www/ispcp/gui/phptmp</value> <value name="TEMP">/var/www/ispcp/gui/phptmp</value> <value name="OSTYPE">$OSTYPE</value> <value name="MACHTYPE">$MACHTYPE</value> <value name="MALLOC_CHECK_">2</value> </value>
</section>
<section name="pool">
<value name="name">vu2002</value>
...следующий вирт хост....
</section>
</workers>
</configuration>
На что тут обращаем внимание
1. Сокеты создаются для каждого клиенткого юзернаме. Это рекомендация по стабильности. И не надо мне грить, что весь мускуль работает через один сокет со всеми клиентами. Он ващет через порты работает в основном.
Папка сокетов должна существовать и быть доступной для записи.
2. Доступ к сокету осуществляется с имеющегося юзер нейм и юзер групп. Тот же юзернейм используется и nginx.
Управление скриптами осуществляется из под юзера созданного панелью vu2000? vu 2001 и т.д.
3. Пул default создан для всех, кто не вошёл в другие пулы.
Пул vu2000 Собственно панель.
Далее по каждому юзеру (не домену!)
4. Интересен вариант с Параметром
<value name="chroot"></value>
Здесь мона зацеашрутить каждого юзера на его папку.
Тогда в конфигах nginx-а надо указывать относительные пути для виртуальных доменов!!!
Зацеашрутить панель не получитсо.
Всех юзеров можно, актуально для бесплатных хостингов. Но будут проблемы например при доступе к /usr/share/pear/
5. Апачевский CGI-wrapper /var/www/fcgi с отдельными настройками php не работает!
Переменные окружения можно переназначить в секции
PHP Code:
<value name="environment">
Но это переменные окружения, а не переменные из php.ini !!!
Я ещё работаю над этим.
RE: ispCP & nginx - data-stream_ru - 02-28-2010 01:30 AM
Ах да, для дебьянов юзер сокетов и Соответственно nginx будет www-data или www или что у вас там ведает апачем.
Можно и отдельного юзера nginx создать, если ни лень. Мне лень.
RE: ispCP & nginx - SolarW - 02-28-2010 09:33 AM
(02-27-2010 09:05 AM)data-stream_ru Wrote: > Скачал подготовленную авторами виртуалку под Вмварь - дык однако летает.
Вот в этой виртуалке похоже реализована максимальная оптимизация LAMP'а.
nginx, zend, eaccelerator и прочее.
Поподробнее плиз, это с чем едят и какие там принципы взаимодействия.
Сильно подробно не смогу, ибо вникаю в эти вопросы на уровне просто пользователя.
Но вкратце примерно так:
Тут можно скачать образ виртуальной машины максимально оптимизированной с точки зрения авторов под достаточно сильно ресурсоемкую CMS (273 метра, пойдет под любой Vmware, например VMware Player)
Changelog
Документация в которой авторы описывают оптимальную с их точки зрения систему которая собственно и реализована в виртуалке.
На закуску для любителей CentOS'а rpm'ка позволяющая после установки получить максимально производительную с точки зрения авторов систему на которой будет работать Bitrix.
Ну и сам Bitrix хоть и в режиме демо-версии рекомендую поставить как инструмент позволяющий померить производительность хостинга - очень чудный в него для этого инструмент встроен.
RE: ispCP & nginx - koffu - 03-01-2010 06:28 AM
По поводу копирайта автор конечно-же не против, просто дополняем список людей участвующих в проекте. Интересные идеи получаются.
Ох и чешуться-же у меня руки собрать это всё добро на генте
RE: ispCP & nginx - server801 - 03-01-2010 06:38 AM
лучше забей.быстрее фришки нету пока в том исполнении.да и похожи они чем то.я от генту пакаджи ставил-подходят
|