Участник
- Сообщения
- 2,491
- Реакции
- 2,794
- Помог
- 61 раз(а)
Особенности данной утилиты заключается в том, что она умеет запускать, перезапускать и контролировать процесс в системе. Работает она в *nix системах. Мануал написан для Ubuntu 14.04, но должно работать для всех Debian-подобных дистрибутивов.
Сначала нам нужно установить сам supervisor
Далее сделаем отдельную папку для логов
Создаем файл /etc/supervisor/conf.d/hlds.conf и вставляем туда следующее содержимое
Внимание: путь к серверу, пользователя и параметры запуска измените на свои. Здесь они приведены для примера
Разберем настройки
[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 - максимальное количество файлов ошибок
После этого рестартим сервис
Запуск
Вот собственно и все. Больше информации о настройках здесь: http://supervisord.org/configuration.html#program-x-section-settings
Сначала нам нужно установить сам supervisor
Все supervisor установлен в ОС.sudo apt-get update
sudo apt-get install 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 - максимальное количество файлов ошибок
После этого рестартим сервис
Для контроля есть утилита supervisorctl, которая идет вместе с самим supervisorsudo service supervisor restart
Запуск
Остановкаsupervisorctl start hlds
Перезапускsupervisorctl stop hlds
supervisorctl restart hlds
Вот собственно и все. Больше информации о настройках здесь: http://supervisord.org/configuration.html#program-x-section-settings
Последнее редактирование: