X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

2 страниц V   1 2 >
Открыть тему
Тема закрыта
> Настройка Centos 5.4 с Nginx под управлением Ispmanager, опыт ламера
seaterror
seaterror
Topic Starter сообщение 6.11.2009, 10:53; Ответить: seaterror
Сообщение #1


Сегодня пришла в моцк мысль О_о - написать мини статейку, чтобы кашу после 3-х дней мытарств переварить, о личном опыте настройки связки:
CentOS 5.4 с установкой nginx-0.8.21-1.el5 + php-5.2.11-2.el5 + httpd-2.2.14-1.el5 + mysql-server-5.0.86-1.el5 и всё это должно работать под управлением ISPmanager-Lite 4.3.32

Итак, после установки в панеле VDS выбранной системы CentOS 5.4 с уже установленными пакетами php, httpd, mysql-server, и разумеется без nginx устанавливаем панель ISPmanager-Lite:

Пользовался программой SSH Explorer в которой есть встроенный SFTP, хорошая прожка, рекомендую!

1. Первым делом удалим пакеты установленные вместе с системой, чтобы установка панели прошла удачно, иначе возможны сбои, и потом геморроя не оберешься.
yum remove httpd
yum remove php
yum remove phpmyadmin
yum remove mysql-server
yum remove php-mysql
yum remove sendmail
yum remove iptables system

Теперь ставим панель:
wget http://download.ispsystem.com/install.sh

sh install.sh

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

После установки панели проверяем её, заходим по адресу https://ваш_IP_сервера/manager/
Там сразу незабываем подкорректировать настройки:
Настройки сервера -> Настройки PHP ставим памяти побольше ))

2. Теперь устанавливаем Nginx ВНИМАНИЕ! (устанавливать Nginx строго рекомендую по методу который описан ниже под заголовочком Рекомендовали: там приведена цитата)

Для начала установим репозиторий:
rpm -ihv http://download.fedora.redhat.com/pub/epel...-5-3.noarch.rpm

Теперь займемся обновлением ПО. Удалим или обновим свой старый php

yum remove php

теперь установим новый

yum install php php-devel php-fpm php-mcrypt php-mssql php-gd php-mysql

с установкой модулей php тут можно незаморачиваться. А установить требуемое с панели ISP/

Обновим mysql и apache

yum update mysql
yum update httpd

Устанавливаем nginx

yum install nginx

Для того, чтобы связать ISPManager и nginx очищаем кэш пакетов ISPManager

/usr/local/ispmgr/sbin/pkgctl -D cache

и рестартим ISP

killall -9 -r ispmgr

Идем в пункт Возможности(Features) панели ISPManager и там устанавливаем Nginx.
p.s. хотя можно попробовать активировать его из шелла:

/usr/local/ispmgr/sbin/pkgctl activate nginx

Перегружаем сервак с панели VDS.

Теперь нам потребуется модуль mod_rpaf, т.к. по умолчанию связка nginx+apache для всех IP адресов получаемых через $_SERVER['REMOTE_ADDR'] будет показывать адрес вашего сервера.

yum install mod_rpaf

В файле rpaf.conf располагающемся в /etc/httpd/conf.d/
Прописываем:

LoadModule rpaf_module modules/mod_rpaf-2.0.so
RPAFenable On
RPAFsethostname Off
RPAFproxy_ips 127.0.0.1 xx.xx.xx.xx
RPAFheader X-Real-IP

где xx.xx.xx.xx – IP адрес вашего сервера. Если на сервере несколько адресов IP, то прописываем их по аналогии через пробел. Перегружаем сервак.

Теперь привожу собственные настройки nginx.conf (/etc/nginx/) и httpd.conf (/etc/httpd/conf/)
Перед изменениями сохраните эти файлы где нибудь., чтобы в случае чего можно было их вернуть

В httpd.conf изменяем параметр Listen на
Listen 127.0.0.1:8080
Таким образом наш апач будет работать на сервере локально.

В nginx.conf черт ногу сломит, по инету полазил и собрал свой конфиг:
user  nginx;
worker_processes  4;
timer_resolution 100ms;
worker_rlimit_nofile 8192;
worker_priority -5;
error_log   /var/log/nginx/error.log;

pid        /var/run/nginx.pid;

events {
    worker_connections  2048;
    use epoll;
}

http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    tcp_nopush      on;
    tcp_nodelay     on;
    server_tokens   off;
    gzip            on;
    gzip_static     on;
    gzip_comp_level 5;
    gzip_min_length 1024;
    keepalive_timeout  65;
    limit_zone   myzone  $binary_remote_addr  10m;

    include /etc/nginx/conf.d/*.conf;

server {
     listen 188.40.161.8:80;
     server_name ******** www.********.ru;
     rewrite    ^(/manager/.*)$    https://$host$1    permanent;
     location ~* ^/(webstat/|awstats|webmail/|myadmin/|manimg/) {
         proxy_pass http://127.0.0.1:8080;
         proxy_redirect off;
         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 / {
         proxy_pass http://127.0.0.1:8080;
         proxy_redirect off;
         proxy_set_header Host $host;
         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
         proxy_set_header X-Real-IP $remote_addr;
              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 10m;
     }
     location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar)$ {
         root /var/www/seaterror/data/www/********;
         access_log /var/www/httpd-logs/********.access.log;
         error_page 404 = @fallback;
     }
     location @fallback {
         proxy_pass http://127.0.0.1:8080;
         proxy_set_header Host $host;
         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
         proxy_set_header X-Real-IP $remote_addr;
     }
}

client_max_body_size 16m;


где, ******** - это домен вашего сайта.
На оптимальность непретендуется! Это отсебячина. Тут я надеюсь на помощь и подсказки от знающих гуру )))

Теперь самое интересное.
При создании: Доменных имен и WWW доменов из панели ISPManager.
В конфиги прописываются параметры:
в nginx.conf -
proxy_pass http://_ваш_IP_сервера:8080;
proxy_redirect http://_ваш_IP_сервера:8080;

Мне лично кажется что это неправильно, так как апач будет работать и по этим адресам, меняем эти строчки на:
proxy_pass http://127.0.0.1:8080;
proxy_redirect off;

Это делаем во всех записях! Смотрите пример моего конфига, там можно прописать и дополнительные настройки.

В httpd.conf в самом конце находим записи
NameVirtualHost ваш_IP_сервера:8080
<VirtualHost ваш_IP_сервера:8080>
Как видим таже самая ватрушка, апач работает на внешнем IP, меняем на локалку 127.0.0.1

NameVirtualHost 127.0.0.1:8080
<VirtualHost 127.0.0.1:8080>
Так же аналогичные строки заменяем во всем конфиге!

Теперь вопрос к ГУРУ, это я правильно сделал и понял или в этом кроется ошибка?
Сервак нормально перегрузился после этого всего, хотя по проверке конфигов:

service httpd configtest
[warn] module ispmgr_module is already loaded, skipping
[warn] The Alias directive in /usr/local/ispmgr/etc/ispmgr.inc at line 3 will proba bly never match because it overlaps an earlier Alias.
[warn] The Alias directive in /usr/local/ispmgr/etc/ispmgr.inc at line 4 will proba bly never match because it overlaps an earlier Alias.
[warn] The Alias directive in /usr/local/ispmgr/etc/ispmgr.inc at line 5 will proba bly never match because it overlaps an earlier Alias.
[warn] The Alias directive in /usr/local/ispmgr/etc/ispmgr.inc at line 6 will proba bly never match because it overlaps an earlier Alias.
[warn] NameVirtualHost 127.0.0.1:8080 has no VirtualHosts Syntax OK

Видим проблемы с панелью, вроде ненравится наши правки настроек конфигов на локалку ((
При этом панель ISP работает вроде нормально, в Сервисах только процесс http отображается как вырубленный, наверное из-за локалки О_о
а на
service nginx configtest
the configuration file /etc/nginx/nginx.conf syntax is ok
configuration file /etc/nginx/nginx.conf test is successful
Тут вроде всё ОК

Сервак стоит, пока тестирую, что обнаружу отпишусь ))
Очень надеюсь на комментарии специалистов, поправок и предложений в оптимизации сервера.

Проблемы все же есть ((
В панеле периодически выкидывает ошибку:
Внутренняя ошибка Can't fork in cache_quota
при этом процессы вылетают

видимо превышен кеш о_о где бы это поправить?

Рекомендовали:

(Sys(3)X)
В репозиториях не всегда свежие пакеты, к тому же некоторые модули nginx лучше отключить перед установкой - например модуль perl. Иногда наблюдали проблемы из-за него.
Скачать можно нашу версию (последняя - 0.8.20) с отключенным модулем, а также с исправленным init-файлом и cpbw патчем:

http://dl.dropbox.com/u/252944/scripts/SRPMS/nginx-0.8.20-1.src.rpm


Установка:

rpmbuild --rebuild nginx-0.8.20-1.src.rpm

Далее соберётся rpm файл на основе архитектуры сервера, в конце Вам будет выдана ссылка на него (он будет лежать в папке /usr/src/redhat/RPMS/*/nginx-0.8.20*) (прим. в моем случае путь был такой: /usr/src/redhat/RPMS/x86_64/nginx-0.8.20-1.x86_64.rpm ))
Выполняем:

rpm -ivh ПУТЬ_ДО_ПАКЕТА

Установка завершена.

Теперь по настройкам в Nginx

worker_processes 4;
Вполне хватит 1-2 в режиме прокси.

в формате логов log_format main можно ещё добавить директиву $server_name - в этом случае в логах будет указываться имя вирт. хоста.
Примерно так:

log_format  main  '$remote_addr - $remote_user [$time_local] $server_name "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';



client_max_body_size 10m;
Это максимальный размер файла, который можно передать по HTTP. Иногда параметр требует увеличения.

Цитата(Radon @ 5.11.2009, 12:13) *
location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar)$ {

Список расширений, обрабатываемых nginx'om. Можно заменить на:

jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi
|wav|bmp|rtf|js|swf|avi|mp3


Также, логировать запросы к картинкам не обязательно, можно поставить
access_log off;


Замечания учел, Nginx переустановил этим способом, пришлось дополнительно проинсталить:
yum install zlib-devel
yum install pcre-devel
yum install openssl-devel
yum install gcc

После добавления доменов с панели ISP, снова лезем в настройки и подстраиваем в соответствии с первым топиком + советы ниже
З,Ы, создание юзера в панеле почему то вышиб апач, перегружаем его:
service httpd restart
и на всякий случай
service nginx restart

Проверяем конфиги:
service httpd configtest
service nginx configtest

все вроде ОК ))

После всех манипуляций ребутнул сервак, теперь вроде стоит, будем тестировать и смотреть что получилось ))

Сообщение отредактировал seaterror - 10.11.2009, 15:04


--------------------


Поблагодарили: (5)
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
iBBi
iBBi
сообщение 6.11.2009, 12:11; Ответить: iBBi
Сообщение #2


при активации любого пакета через isp панель сама создаст конфиг, его трогать не нужно лишь правим некоторые значения под свои нужды.

epel поставит не 5.2.11 а 5.3. (последнею) Лучше ставить свою rpm.

nginx тоже нужно ставить отдельной rpm.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
seaterror
seaterror
Topic Starter сообщение 6.11.2009, 12:19; Ответить: seaterror
Сообщение #3


Чуть ниже в первом посте все зделал по рекомендации, без обновлений пакетов которые шли с панелью ISP, думается родное надежнее ))

При активации Nginx с панели, мне как кажется в конфиг неправильно прописываются некоторые данные, выше я это описывал. Там ip сервера надо прописывать на локалку! иначе апач будет и в локалке рабить и на внешнем ip, или я нетак мыслю?
Вообще идея установки nginx такова (имхо): nginx работает на внешку, принимает внешние запросы, обрабатывает и отсылает их на обработку апачу, а апач сидит тихонько в локалке сервака и тихо работает ))

Для тестирования установил Server Monitoring With munin And monit

Погоняю сервак с недельку а там видно будет как сборка эта себя покажет, о результатах отпишусь здесь ))


--------------------


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Ska-TGD
Ska-TGD
сообщение 10.11.2009, 16:33; Ответить: Ska-TGD
Сообщение #4


В обще долго я конопатился с этой связкой, большое спасибо, НО как всегда есть НО!
Когда мы удаляли php удалился и phpmyadmin, надо его потом установить,
Пример конфига nginx.conf не правильный, не хватает одной фигурной скобочки, поставил в самый конец все работает.

Не работала комманда rpmbuild --rebuild nginx-0.8.20-1.src.rpm
Решил обновить rpm, не обновлялся, решил потом удалить его и заново поставить, удалил, теперь не могу поставить biggrin.gif biggrin.gif biggrin.gif
Помогите, а? f_4866c2c501a2c.gif
Нельзя мне админить и не быть мне сисадмином, у меня rpm не работает вообще sad.gif как ввожу он ищет каталог rpm
А, все уже biggrin.gif Установил через панель.

Сообщение отредактировал Ska-TGD - 10.11.2009, 17:13


--------------------
Ruby on Rails dev | artemeff | @artemeff
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
seaterror
seaterror
Topic Starter сообщение 10.11.2009, 22:47; Ответить: seaterror
Сообщение #5


удалите Nginx:

yum remove nginx

и ставьте способом который описан внизу первого поста, причем обратите внимание на:
пришлось дополнительно проинсталить:
yum install zlib-devel
yum install pcre-devel
yum install openssl-devel
yum install gcc

ну если все поставилось уже и работает то можно и не суетится ))


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
znahar
znahar
сообщение 10.1.2010, 0:23; Ответить: znahar
Сообщение #6


Подскажите как откатиться с php 5.3.1 на 5.2.11


--------------------
Смотри сюда и Gobin'ей ----->
[img]http://i076.radikal.ru/0912/c8/32f6c038cced.gif[/img]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
karpiy
karpiy
сообщение 10.1.2010, 0:33; Ответить: karpiy
Сообщение #7


(znahar @ 9.1.2010, 22:23) *
Подскажите как откатиться с php 5.3.1 на 5.2.11

yum downgrade php

либо снести php со всеми модулями и установить заново нужную версию

Сообщение отредактировал karpiy - 10.1.2010, 0:35


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
znahar
znahar
сообщение 10.1.2010, 1:23; Ответить: znahar
Сообщение #8


либо снести php со всеми модулями и установить заново нужную версию


А репозитории подскажите с php 5.2.11 ? smile.gif


--------------------
Смотри сюда и Gobin'ей ----->
[img]http://i076.radikal.ru/0912/c8/32f6c038cced.gif[/img]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
karpiy
karpiy
сообщение 10.1.2010, 1:33; Ответить: karpiy
Сообщение #9


(znahar @ 9.1.2010, 23:23) *
А репозитории подскажите с php 5.2.11 ? smile.gif


wget -q -O - http://www.atomicorp.com/installers/atomic |sh

только версия 5.2.12

Сообщение отредактировал karpiy - 10.1.2010, 3:02


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
komato3
komato3
сообщение 10.1.2010, 19:48; Ответить: komato3
Сообщение #10


Добавлю от себя =)
ПРи установке отличного PHP версии выше 5.1.6 панель лучше не использовать для установки сторонних модулей в PHP так как она глупо не видит модули для версии 5.2 =) И буду проблемы.
Да еще не стоит обновлять мускуль с репозитория epel ибо становиться последняя сборка и могут быть проблемы с php-mysql =)
К версии 5.3 нету до сих пор зенда. (ожидаеться не раньше конца квартала)


Вот мне бы кто нить подсказал как связать Zope+Apache мануальчик бы. =)и вообще создать отдельную ветку про администрирование.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
2 страниц V   1 2 >
Открыть тему
Тема закрыта
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Жирные бурж ссылки под крипту
Размещаем статьи на популярных международных сайтах
0 umexa 252 Вчера, 23:23
автор: umexa
Открытая тема (нет новых ответов) Жирные бурж ссылки под крипту
Размещаем статьи на популярных международных сайтах
0 umexa 227 Вчера, 23:23
автор: umexa
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыSEO-продвижение USA, Europe, Asia под ключ | Dating, Gambling, Essay и 10+ ниш
3 Needmylink1 1000 Вчера, 21:26
автор: Needmylink1
Открытая тема (нет новых ответов) SEO Линк Билдинг под Бурж | Вечные ссылки США, Европа и Мир с Гарантией
21 Needmylink1 7137 Вчера, 21:16
автор: Needmylink1
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыНастройка яндекс директ рекламы БЕЗ РАСХОДОВ БЮДЖЕТА
Количество продаж будет ОГРАНИЧЕННО!
22 ITstaf 4391 Вчера, 21:00
автор: 100ftd


 



RSS Текстовая версия Сейчас: 24.4.2024, 2:41
Дизайн