Запуск нескольких экземпляров сервера 1С на Linux

Так как при установке пакетов сервера версии 8.3.18 скрипты инициализации (запуска/остановки сервера 1С) автоматически не устанавливаются - их требуется копировать вручную, то предлагаемый ниже способ не будет конфликтовать с решением от 1С.

Изложенная ниже информация относится к серверу 1С 64-х разрядной версии. Для 32 разрядной версии необходимо поправить приведенные здесь файлы.

Первым делом помещаем в каталог /etc/systemd/system файл шаблона сервиса srv1cv83@.service следующего содержания:

[Unit]
Description=1C:Enterprise Server 8.3 (%I)
Requires=network.target

[Service]
Type=simple
User=usr1cv8
Group=grp1cv8

# Path to directory with claster data
Environment=SRV1CV8_DATA=/home/usr1cv8/.1cv8/1C/1cv8/

# Number of the cluster port created by default during first
# launch of ragent
Environment=SRV1CV8_PORT=1540

# Number of cluster agent main port. This port is used by the
# cluster console to address the central server. Cluster agent
# port is also specified as the IP port of the working server.
Environment=SRV1CV8_REGPORT=1541

# Port range for connection pool
Environment=SRV1CV8_RANGE=1560:1591

# Security level:
# 0 - unprotected connections
# 1 - protected connections only for the time of user
#    authentication
# 2 - permanently protected connections
Environment=SRV1CV8_SECLEV=0

# 1C:Enterprise server configuration debug mode
# blank - default - debug mode is off
# -debug - debug mode is on
#
Environment=SRV1CV8_DEBUG=

# Check period for connection loss detector, milliseconds
Environment=SRV1CV8_PING_PERIOD=1000

# Response timeout for connection loss detector, milliseconds
Environment=SRV1CV8_PING_TIMEOUT=5000

# 1C:Enterprise server keytab file.
# default - usr1cv83.keytab file in 1C:Enterprise server
#          installation directory
Environment=KRB5_KTNAME=/opt/1cv83/x86_64/%I/usr1cv8.keytab

ExecStart=/bin/sh -c "/opt/1cv8/x86_64/%I/ragent -d ${SRV1CV8_DATA} -port ${SRV1CV8_PORT} -regport ${SRV1CV8_REGPORT} -range ${SRV1CV8_RANGE} \
-seclev ${SRV1CV8_SECLEV} -pingPeriod ${SRV1CV8_PING_PERIOD} -pingTimeout ${SRV1CV8_PING_TIMEOUT} ${SRV1CV8_DEBUG}"
Restart=always
RestartSec=5
PrivateTmp=yes

[Install]
DefaultInstance=current
WantedBy=multi-user.target

Если вы установили пакеты, например, версии 8.3.18.1208, то для запуска сервера 1С потребуется выполнить следующую команду:

sudo systemctl start srv1cv83@8.3.18.1208

Чтобы прописать данный сервис в автозапуск необходимо выполнить команду:

sudo systemctl enable srv1cv83@8.3.18.1208

В случае, если у вас нет нужды запускать несколько экземпляров сервиса с разной версией платформы, а вы просто хотите управлять запуском и остановкой сервиса через systemd, то это можно осуществить следующим образом.
Установить нужную версию платформы и сделать следующую символьную ссылку:

sudo ln -s /opt/1cv83/x86_64/8.3.18.1208 /opt/1cv83/x86_64/current
В таком случае управлять сервисом можно с помощью экземпляра srv1cv83@current командами вида:

sudo systemctl enable srv1cv83@current  # Включить автозапуск сервиса
sudo systemctl start srv1cv83@current   # Запустить сервис
sudo systemctl stop srv1cv83@current    # Остановить сервис
sudo systemctl status srv1cv83@current  # Посмотреть статус сервиса
sudo journalctl -ex -u srv1cv83@current # Посмотреть журнал событий сервиса

После установки новой версии (если вы обновили пакеты сервера), вам потребуется изменить ссылку /opt/1cv83/x86_64/current, так чтобы она ссылалась на каталог с новой версией платформы, что позволит и дальше работать с экземпляром srv1cv83@current не меняя более никаких настроек.
Если в каком-то экземпляре сервиса необходимо изменить параметры запуска, то для этого можно создать каталог для “drop-in” файлов настроек.
Так, например, чтобы включить режим отладки для экземпляра сервиса srv1cv83@8.3.18.1208 требуется создать файл /etc/systemd/system/srv1cv83@8.3.18.1208.service.d/debug.conf следующего содержания:

[Service]
Environment=SRV1CV8_DEBUG=-debug

Если, например, нам для экземпляра srv1cv83@current необходимо поменять номера портов запуска процессов сервера 1С (увеличив все значения на 1000), тогда создаем файл /etc/systemd/system/srv1cv83@current.service.d/ports.conf:

[Service]
Environment=SRV1CV8_PORT=2540
Environment=SRV1CV8_REGPORT=2541
Environment=SRV1CV8_RANGE=2560:2591

Если же вы хотите изменить параметры опроса агентом сервера процессов кластера для всех экземпляров сервиса, тогда достаточно создать файл /etc/systemd/system/srv1cv83@.service.d/pings.conf:

[Service]
Environment=SRV1CV8_PING_PERIOD=3000
Environment=SRV1CV8_PING_TIMEOUT=15000

Подробнее здесь