Помощник
Здравствуйте, гость ( Вход | Регистрация )
Настройка CentOS 5.4 с Nginx под управлением ISPmanager, личный опыт ламера |
Radon |
2009-11-05, 12:13
Сообщение
#1
|
|
Любитель Группа: Пользователи Сообщений: 174 Регистрация: 2008-12-15 Репутация: нет Всего: 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 (вечная лицензия, можно поюзать и демо-версию пару недель бесплатно, что хватит для настройки сервера, а потом и не понадобится уже - предварительно зарегистрировавшись на офф. сайте и заказав) Ставилось все это на VPS:
Итак, после установки в панеле VDS выбранной системы CentOS 5.4 с уже установленными пакетами php, httpd, mysql-server, и разумеется без nginx устанавливаем панель ISPmanager-Lite: Пользовался программой SSH Explorer в которой есть встроенный SFTP, хорошая прожка, рекомендую! 1. Первым делом удалим пакеты установленные вместе с системой, чтобы установка панели прошла удачно, иначе возможны сбои, и потом геморроя не оберешься.
Теперь ставим панель: wget http://download.ispsystem.com/install.sh sh install.sh Установка будет идти довольно продолжительно, периодически запрашивая подтверждения на дальнейшие действия. В списке устанавливаемых конфигураций. Выбирайте рекомендуемые, самая первая строчка, или последнюю, где можно будет выбрать что надо устанавливать а что и пропустить. После установки панели проверяем её, заходим по адресу https://ваш_IP_сервера/manager/ Там сразу незабываем подкорректировать настройки: Настройки сервера -> Настройки PHP ставим памяти побольше )) 2. Теперь устанавливаем Nginx Для начала установим репозиторий:
Теперь займемся обновлением ПО. Удалим или обновим свой старый 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 черт ногу сломит, по инету полазил и собрал свой конфиг:
где, ******** - это домен вашего сайта. На оптимальность непретендуется! Это отсебячина. Тут я надеюсь на помощь и подсказки от знающих гуру ))) Теперь самое интересное. При создании: Доменных имен и 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 Тут вроде всё ОК Сервак стоит, пока тестирую, что обнаружу отпишусь )) Очень надеюсь на комментарии специалистов, поправок и предложений в оптимизации сервера. Ниже привожу свой top: top.jpg ( 105.07 килобайт ) Скачиваний: 19 Сообщение отредактировал Radon - 2009-11-05, 12:22
Прикрепленные файлы
|
|
|
||
Radon |
2009-11-05, 12:36
Сообщение
#2
|
|
Любитель Группа: Пользователи Сообщений: 174 Регистрация: 2008-12-15 Репутация: нет Всего: 1 |
Проблемы всеже есть ((
В панеле периодически выкидывает ошибку: Внутренняя ошибка Can't fork in cache_quota при этом процессы вылетают видимо превышен кеш о_о где бы это поправить? |
|
|
||
Sys(3)X |
2009-11-05, 23:39
Сообщение
#3
|
|
Eleanor hoster Группа: Администраторы Сообщений: 272 Регистрация: 2008-11-11 Репутация: нет Всего: 10 |
В репозиториях не всегда свежие пакеты, к тому же некоторые модули nginx лучше отключить перед установкой - например модуль perl. Иногда наблюдали проблемы из-за него. Скачать можно нашу версию (последняя - 0.8.20) с отключенным модулем, а также с исправленным init-файлом и cpbw патчем: http://dl.getdropbox.com/u/252944/scripts/....8.20-1.src.rpm Установка: rpmbuild --rebuild nginx-0.8.20-1.src.rpm Далее соберётся rpm файл на основе архитектуры сервера, в конце Вам будет выдана ссылка на него (он будет лежать в папке /usr/src/redhat/RPMS/*/nginx-0.8.20*) Выполняем: rpm -ivh ПУТЬ_ДО_ПАКЕТА Установка завершена. Вполне хватит 1-2 в режиме прокси. Можно ещё добавить директиву $server_name - в этом случае в логах будет указываться имя вирт. хоста. Примерно так:
Это максимальный размер файла, который можно передать по HTTP. Иногда параметр требует увеличения. Список расширений, обрабатываемых nginx'om. Можно заменить на:
Также, логировать запросы к картинкам не обязательно, можно поставить
Сообщение отредактировал Sys(3)X - 2009-11-05, 23:40 |
|
|
||
Radon |
2009-11-06, 9:43
Сообщение
#4
|
|
Любитель Группа: Пользователи Сообщений: 174 Регистрация: 2008-12-15 Репутация: нет Всего: 1 |
Установил с нуля, обновлять пакеты которые шли в комплекте с панелью ISP нестал, мало ли чего ))
сразу поставил yum install zlib-devel yum install pcre-devel yum install openssl-devel этих пакетов по умолчанию не было! и пришлось ещё добавить: yum install gcc После чего предложенный выше способ установки Nginx прошол на ура! в моем случае путь до rpm файла был /usr/src/redhat/RPMS/x86_64/nginx-0.8.20-1.x86_64.rpm в панеле ISP активировал через Возможности (предварительно очистив кеш и рестарт панели) Проверяем конфиги: service httpd configtest service nginx configtest все вроде ОК )) После добавления доменов, снова лезем в настройки и подстраиваем в соответствии с первым топиком + советы ниже З,Ы, создание юзера в панеле почему то вышиб апач, перегружаем его: service httpd restart и на всякий случай service nginx restart После всех манипуляций ребутнул сервак, теперь вроде стоит, будем тестировать и смотреть что получилось )) Для тестирования установилServer Monitoring With munin And monit погоняю сервак с недельку а там видно уже будет как сборка эта себя покажет Сообщение отредактировал Radon - 2009-11-06, 11:20 |
|
|
||
Гость_Fucktor_* |
2009-11-13, 13:20
Сообщение
#5
|
|
Гости |
Я конечно понимаю что тема называется Настройка CentOS 5.4, но я бы хотел её установить себе на виртуальную машину Windows Virtual PC, вроде за ночь она встала, а при запуске не хочет запускаться, ошибку какую-то постоянно выдаёт и я решил её снести. Кстати интересует тема нужно ли делать тест DVD, я вот нажал на тест и ждал около 5ти часов пока до 100% дойдёт, а сама ОС устанавливалась 3 с лишним часа, это нормально??? Просто не приучен пока к линуксовому семейству.
|
|
|
||
Текстовая версия | 0.0340 сек. 11 запросов GZIP включен Сейчас: 2024-10-08, 8:17 |