> > > >

Supervisor - утилита для запуска сервера

Сообщения
1.008
Рейтинг
952
#1
Особенности данной утилиты заключается в том, что она умеет запускать, перезапускать и контролировать процесс в системе. Работает она в *nix системах. Мануал написан для Ubuntu 14.04, но должно работать для всех Debian-подобных дистрибутивов.

Сначала нам нужно установить сам supervisor
sudo apt-get update
sudo apt-get install supervisor
Все supervisor установлен в ОС.
Далее сделаем отдельную папку для логов
sudo mkdir /var/log/hlds
sudo chown -R steam
И собственно сам процесс настройки.
Создаем файл /etc/supervisor/conf.d/hlds.conf и вставляем туда следующее содержимое
Внимание: путь к серверу, пользователя и параметры запуска измените на свои. Здесь они приведены для примера
Код:
[program:Название]
user=steam
environment = HOME="/steam",LD_LIBRARY_PATH=".:$LD_LIBRARY_PATH"
process_name=hlds
directory=/srv/hlds/
command=/srv/hlds/hlds_linux -game cstrike -norestart +servercfgfile server.cfg +sv_lan 0 +ip 127.0.0.1 +port 27015 +maxplayers 32 +map de_dust2
numprocs=1
startretries=3
autostart=true
autorestart=true
stdout_logfile=/var/log/hlds/hlds.log
stdout_logfile_maxbytes=5MB
stdout_logfile_backups=10
redirect_stderr=true
stderr_logfile=/var/log/hlds/error.log
stderr_logfile_maxbytes=5MB
stderr_logfile_backups=10


Разберем настройки
[program:hlds] - Название программы. Служит для управления.
user - Пользователь от которого запускать сервер
environment - /steam путь к home директории пользователя от которого запускаем процесс. Все остальное оставляем как есть
process_name - имя процесса
directory - путь к директории сервера
command - команда запуска. Обратите внимания на hlds_linux вместо hlds_run
numprocs - количество процессов. В нашем случае 1
startretries - количество попыток автоподнятия при падении. При превышении сервер больше не поднимется
autostart - автозапуск при запуске ОС
autorestart - автоперезапуск при падении
stdout_logfile - путь к логфайлу
stdout_logfile_maxbytes - максимальный размер лог файла
stdout_logfile_backups - максимальное количество лог файлов
redirect_stderr - переадресация потока ошибок
stderr_logfile - путь к логу ошибок
stderr_logfile_maxbytes - максимальный размер файла ошибок
stderr_logfile_backups - максимальное количество файлов ошибок

После этого рестартим сервис
sudo service supervisor restart
Для контроля есть утилита supervisorctl, которая идет вместе с самим supervisor
Запуск
Остановка
Перезапуск
supervisorctl restart hlds


Вот собственно и все. Больше информации о настройках здесь: http://supervisord.org/configuration.html#program-x-section-settings
 
Последнее редактирование:
Сообщения
3
Рейтинг
2
#2
Добавьте пожалуйста, что для запуска необходимо в supervisord.conf добавить

[inet_http_server]
port=127.0.0.1:9771
;username=user
;password=123

Иначе supervisorctl отказывается работать и пишет ошибку
No passwd entry for user 'supervisorctl'
 
Последнее редактирование:
2  
> > > >