На рынке хостинг услуг с 2005 года

нам доверяют более 700 сайта
сервера на территории Казахстана
+7 701 3528510 (whatsapp)
litoshenko_oleg@mail.ru

ПОЛЕЗНЫЕ СТАТЬИ - Nginx для cpanel

Nginx в cpanel (nginx-cpl v3)

скачать nginx-cpl-v3.zip

В этой статье рассмотрю установку nginx на cpanel с автоматическим обновлением конфиг файлов при добавлении новый акаунтов/сайтов в цпанель. Реализован через демон.

В cpanel толком не реализована работа с nginx. Есть 2 плагина, один платный а другой заброшенный давным-давно. Есть еще LiteSpeed но он платный. А зачем нам платить если руки растут с того места?

Установка nginx

Устанавливаем nginx , любым удобным для вас способом. Из исходников или репозитория уже скомпилированный. Лучше конечно из исходников с нужными модулями, но не критично. Главное чтобы был модули ssl_module, stub_status_module, realip_module, http_v2_module.

Находим место где хранятся конфиг файлы. Стандартно это «/etc/nginx»

Добавьте nginx в автозапуск

> chkconfig nginx on

Установка демона/сервиса

Скопируйте содержимое архива в “/usr/share/nginx-cpl/sh-mod/” это каталог по умолчанию

Файлы:

config.php – конфиг демона. Описан ниже

deamon.sh – тело демона

function.php – функции для скриптов

gen-vhosts-consol.php – консольный скрипт для принудительного обновления конфигурационных фалов nginx для доменов

gen-vhosts.php – консольный скрипт с проверкой актуальности обновлений конфигурационных файлов nginx для доменов

nginx-cpl.log – лог файл

nginx-cpl3 – файл службы

Скопируйте файл службы «nginx-cpl3» в /etc/ init.d и установите права на файл +x

> chmod u+x /etc/init.d/nginx-cpl3

Автозапуск службы

> chkconfig nginx-cpl3 on

управление службой

> service nginx-cpl3 stop

> service nginx-cpl3 start

> service nginx-cpl3 status

После настройки, запустите службу

Для удобства можете настроить alias

> nano /root/.bashrc

и добавить строку

alias gen-vhosts-consol='php -f /usr/share/nginx-cpl/sh-mod/gen-vhosts-consol.php'

после этого можно просто из консоли вызывать скрипт

> gen-vhosts-consol

Настройка демона

Демон написан мной, но часть исходников заимствовано. Задача демона проверять раз в 10 секунд изменился ли конфиг апача (httpd.conf). если обновился, парсировать его и создавать nginx конфиги для доменов. 2 конфига для http и https.

config.php

define('APACHE_PORT_HTTPS', '1443');
define('APACHE_PORT_HTTP', '8080');

https и http порты для apache. Эти порты будет спрятаны от внешки. И будет не стандартный, допустим 1443/8080

define('APACHE_CONF', '/usr/local/apache/conf/httpd.conf');

конфиг файл apache

define('NGINX_PORT_HTTPS', '443');
define('NGINX_PORT_HTTP', '80');

https и http порты для nginx. Порты будут замешены вместо портов на котором apache. Так что указываем стандартный для данного протокола

define('NGINX_CONF', '/etc/nginx/vhosts/');

путь где будут созданы конфиг файлы nginx для доменов. Для удобства - это отельный каталог.

define('CPL_BASE', '/etc/nginx/nginx-cpl-v3/');

путь до каталога с демоном. Туда будут ложится служебные файлы и логи

deamon.sh

RUN_CHECK=$(php -f /usr/share/nginx-cpl/sh-mod/gen-vhosts.php)

указать путь для php и скрипта обновления

Дополнительные настройки.

В созданных конфигурационных файлах указаны пути для nginx параметров proxy и microcache. Они должны быть в папке «/etc/nginx/proxy/». Если вы не используете отдельных файлов для конфигурации, просто создайте пустые файлы "/etc/nginx/proxy/proxy.inc" и "/etc/nginx/proxy/microcache.inc" или закомментируйте строки в function.php

Настройка WHM

После установки nginx и настройки демона, запустите демон. Проверьте что создались файлы с доменами в каталоге /etc/nginx/vhosts

Перейдите в раздел whm – “Home » Server Configuration »Tweak Settings”

Измените параметры «Apache non-SSL IP/port» на 8080, «Apache SSL port» на 1443

Запустите сервис nginx

Закройте порты 8080 и 1443 от внешнего доступа

Copyright © 2004-2023 ТОО "LiO Programs",
Все права защищены.
email: support@hosthouse.kz, litoshenko_oleg@mail.ru (m-agent)
сотовый: +7 701 3528510 (whatsapp)
Дизайн и разработка
ТОО "LiO Programs" 2004-2023г