Sitesctl
Материал из ISPWiki
Содержание |
Назначение
Утилита служит следующим целям:
- Быстрое получение информации о каком-либо сайте.
- Перераспределение сайтов по обрабатывающим веб-серверам.
- Останов/запуск/перезапуск всех веб-серверов, либо веб-серверов, обрабатывающих определённый сайт. Веб-серверы управляются через протокол cluster, см. oproxy.conf.
- Создание символической ссылки в директориях конфигурационных файлов веб-серверов на создаваемого пользователя.
- Удаление символической ссылки в директориях конфигурационных файлов веб-серверов для указанного пользователя.
Получение информации о сайте
sitesctl --describe-site host.com sitesctl -ds host.com
Получить информацию о сайте host.com. В качестве имени сайта можно указывать основное имя сайта, любой из псевдонимов или автоподдоменов. Поддерживается также специальное имя сайта ALL, при указании которого будет выведена информация обо всех сайтах.
Перераспределение сайтов по веб-серверам
sitesctl --distribute
Сайты будут перераспределены по обрабатывающим веб-серверам. Логика распределения следующая:
- Каждый сайт должен быть представлен как минимум на N узлах, где N — 9-е поле из cluster_sites.conf. Нагрузка на узлы распределяется по возможности равномерно. Чем больше создаваемая пользователем нагрузка, тем на большем количестве узлов он будет представлен. На текущий момент, фактическая нагрузка не учитывается и в её роли выступает количество сайтов у пользователя. То есть, чем больше сайтов у пользователя, тем больше считается создаваемая им нагрузка.
- Для минимизации размера процессов Apache, каждый веб-сервер внутри узла имеет по возможности одинаковое количество сайтов.
После перераспределения, новый cluster_sites.conf будет записан, изменившиеся веб-серверы будут перезапущены. oProxy автоматически прочитает новый cluster_sites.conf в течение 5 секунд.
Управление веб-серверами
Утилита принимает серию ключей для управления веб-серверами:
- --stop
- Остановить веб-серверы.
- --start
- Запустить веб-серверы.
- --restart
- Перезапустить веб-серверы.
- --graceful
- Перезапустить веб-серверы без сброса текущих соединений.
В качестве параметра ключам может быть передано:
- имя сайта, либо псевдоним, либо автоподдомен
- Команда будет применена только к тем веб-серверам, которые обслуживают указанный сайт.
- IP-адрес
- Команда будет применена только к вебсерверу, работающим с указанным IP.
- ALL
- Команда будет применена ко всем известным веб-серверам.
- LOCAL
- Команда будет применена только локально размещённым веб-серверам.
Примеры использования
sitesctl --restart site.com или sitesctl --restart www.site.com
Перезапустить веб-серверы, обслуживающие site.com.
sitesctl --start someautosubdomain.site.com
Запустить веб-серверы, обслуживающие автоподдомен someautosubdomain.site.com.
sitesctl --start LOCAL
Запустить локально размещённые веб-серверы.
sitesctl --stop ALL
Остановить все прописанные в cluster_nodes.conf веб-серверы.
Создание нового пользователя
sitesctl --link-new-user имя_пользователя
В данном режиме работы, утилита находит в cluster_nodes.conf все веб-серверы, имеющие опцию DefaultForNewUsers, создаёт символическую ссылку на конфигурационный файл с его виртуальными хостами в директориях веб-серверов и возвращает в STDOUT список изменившихся веб-серверов.
Удаление ссылки на пользователя
sitesctl --unlink-user имя_пользователя
Все символические ссылки на конфигурационный файл виртуальных хостов указанного пользователя будут удалены из директорий веб-серверов.
