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 >
Открыть тему
Тема закрыта
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0


Свернуть

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

  Тема Ответов Автор Просмотров Последний ответ
Горячая тема (нет новых ответов) Ссылки за которые не стыдно! Качественный линк билдинг сервис под Бурж от Westrank. Честный прайс.
63 DaoDog 47119 Вчера, 12:05
автор: Omaxis
Открытая тема (нет новых ответов) Прототипирование + дизайн + вёрстка = красивый и эффективный сайт под ключ
0 bunneh 339 16.4.2024, 18:02
автор: bunneh
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыBurzh.top|Партнерская программа под любой вид трафика (email, спам, УБТ)
2 cryptius 762 16.4.2024, 17:50
автор: cryptius
Горячая тема (нет новых ответов) Hyper.hosting - сервера под любые задачи [разрешены dmca, гэмблинг, адалт и пр.]
Лучшие сервера по доступной цене
32 Hyper_Hosting 9146 15.4.2024, 13:03
автор: Hyper_Hosting
Открытая тема (нет новых ответов) SEO Линк Билдинг под Бурж | Вечные ссылки США, Европа и Мир с Гарантией
20 Needmylink1 7000 12.4.2024, 23:32
автор: Needmylink1


 



RSS Текстовая версия Сейчас: 20.4.2024, 0:51
Дизайн