Остановить 1с сервер линукс

Обновлено: 08.07.2024

Единый дистрибутив 1С:Предприятие для Linux. Установка сервера

Продолжаем изучать работу с единым дистрибутивом платформы 1С:Предприятие для Linux, который появился в версии 8.3.20. В прошлой статье мы рассмотрели установку клиентских приложений, а сегодня уделим внимание серверу 1С:Предприятия и серверным компонентам. Основной целью выпуска единого дистрибутива было заявлено упрощение процессов установки и сопровождения системы. Что касается клиентской части, то здесь мы полностью согласимся, но в отношении серверов такое упрощение не всегда идет на пользу. Обо всем этом в нашей статье.

Долгое время поставка 1С:Предприятие для Linux производилась в виде привычных DEB или RPM-пакетов, которые затем устанавливались с помощью пакетного менеджера системы. Это привычный и понятный системным администраторам механизм, позволяющий полностью контролировать и автоматизировать процесс развертывания, при наличии такой необходимости.

Новый способ предусматривает поставку в виде универсального run-файла, который содержит клиентскую и серверную часть, дополнительные компоненты и подходит как для RPM, так и для DEB-систем. Установка при этом производится в обход пакетного менеджера и слабо поддается контролю со стороны администратора. Если для клиентских систем это несущественно, то на серверах многие админы предпочитают держать руку на пульсе любых изменений системы.

Но единый дистрибутив - это закономерный итог текущей политики разработки 1С. Вместо следования философии UNIX-систем, когда каждая программа делает свое дело и делает его хорошо, сборки 1С постоянно собирались с жесткими зависимостями от определенных версий библиотек, что вызывало постоянные проблемы при разрешении зависимостей и требовало подключать сторонние репозитории, либо скачивать недостающие пакеты руками. Хотя это касалось в большей мере только клиентского приложения.

В дальнейшем 1С стала следовать принципу "все свое ношу с собой", постепенно включив в состав дистрибутива почти все библиотеки основных зависимостей. Единый дистрибутив - апофеоз этого процесса. Но нравится нам это или нет, 1С:Предприятие является ведущей платформой для построения учетных систем, поэтому давайте учиться жить и работать в новых условиях.

В нашем примере мы будем устанавливать сервер 1С:Предприятие на Ubuntu 20.04 LTS и Debian 10, однако данная инструкция одинаково пригодна для любого поддерживаемого платформой Linux-дистрибутива с поправками на работу с пакетным менеджером. Все приведенные ниже команды следует выполнять с правами суперпользователя.

Начнем с установки требуемых зависимостей. Их немного, это набор шрифтов Microsoft True Type Core Fonts и библиотека UnixODBC, для работы через одноименный интерфейс.

В Debian для этого следует подключить репозитории с несвободным ПО, для этого откройте /etc/apt/sources.list и добавьте после main в каждую строку contrib и non-free.

edinyy-distributiv-1c-linux-server-001.jpg

Обновим список пакетов и установим зависимости:

Затем скачаем с официального сайта архив с единым дистрибутивом, после чего любым удобным способом передадим его на сервер. Будем считать, что вы разместили его в домашней директории текущего пользователя. Перейдем туда и распакуем архив:

В нашем случае используется единственный доступный на текущий момент выпуск платформы с единым дистрибутивом 8.3.20.1549.

После чего запустим инсталлятор, если это сделать без указания опций, то он запустится в интерактивном режиме и вам потребуется отвечать на множество вопросов, поэтому мы будем использовать пакетный режим, который позволяет сразу указать требуемые компоненты.

В контексте серверного применения нам могут быть интересны:

  • server - кластер серверов 1С:Предприятия
  • server_admin - сервер администрирования кластера серверов 1С:Предприятия
  • liberica_jre - Java Runtime Environment (JRE)
  • config_storage_server - сервер хранилища конфигураций
  • ws - модули расширения веб-сервера

С полным списком опции можно ознакомиться в официальной документации.

Допустим, мы хотим установить кластер серверов 1С:Предприятие и модуль расширения веб-сервера, для этого запустим инсталлятор со следующими ключами:

Начиная с платформы 8.3.18, когда появилась возможность одновременной установки нескольких версий на платформе Linux инсталлятор не производит автоматическую регистрацию службы. Это нужно сделать самостоятельно. Для этого скопируем, точнее сделаем символические ссылки для скрипта запуска и файла конфигурации. В настоящий момент 1С:Предприятие продолжает использовать подсистему инициализации init, переход на systemd планируется в платформе 8.3.21.

Затем добавим ее в автозагрузку:

Управлять службой можно как "по старинке":

Так и через systemd:

edinyy-distributiv-1c-linux-server-002.jpg

На этом установку сервера 1С:Предприятие вроде бы можно считать оконченной, но есть один неприятный сюрприз. Перезагрузив сервер, вы неожиданно увидите приглашение ко входу в графическую оболочку. При этом сама оболочка будет установлена в весьма ограниченном варианте, даже терминала нет. Зато есть ярлыки 1С:Предприятие.

edinyy-distributiv-1c-linux-server-003.jpg

С одной стороны. мешать она никому не мешает и многие вообще могут не заметить ее появления, особенно если ходят на сервер сугубо по SSH. Но любое дополнительное ПО тратит ресурсы сервера и предоставляет дополнительную поверхность атаки, поэтому давайте удалим оболочку Gnome, тем более что для работы сервера 1С:Предприятие она не нужна:

Как вы уже догадались, оболочку на сервер устанавливает единый дистрибутив 1С:Предприятия и пока нет возможности воспрепятствовать этому, а следовательно указанные выше действия нужно будет выполнять после каждого запуска единого дистрибутива. Надеемся, что в следующих версиях этот недостаток будет исправлен.

Для удаления платформы следует воспользоваться специальным скриптом, который расположен в папке платформы.

При обновлении платформы вам потребуется:

  • Остановить службу
  • Установить новую платформу
  • Удалить старую
  • Обновить символические ссылки на скрипт запуска и конфигурации
  • Запустить службу

Как видим, особых сложностей с использованием единого дистрибутива 1:Предприятия для Linux нет. Но есть некоторые особенности и некорректное поведение инсталлятора, пытающегося установить на сервер графическую оболочку. Все это нужно учитывать при планировании развертывания. И если нам понравилось использование единого дистрибутива при установке клиентского приложения, то сказать тоже самое про сервер мы не можем. Но увы, альтернативы у нас нет, остается только надеяться, что разработчики 1С прислушаются к мнению сообщества и единый дистрибутив будет серьезно доработан и переработан.

1. Ошибка при запуске config_server

Проблема возникает на операционных системах с архитектурой x86_64 из-за отсутствия 32-х битного пакета glibc.

2. Не запустился сервер 1с предприятия

После завершения установки сервер 1с предприятия сообщил о том что запустился, но не работает:

При попытке остановить пишет:

1. Проверяем какие порты слушает сервер 1с предприятия

Если в результате проверки получилось что работает только rmngr (менеджер сервера), значит при установке были не правильно созданы конфигурационные файлы и мы можем переходить к п.2.

2. Проверяем selinux

Сервер 1с предприятия вполне может работать при включенным SELinux c политикой targeted в запрещающем режиме Enforcing, однако в некоторых комбинациях он может вызвать проблему при запуске ragent (агента сервера 1с). Проверяем:

Открываем для редактирования /etc/sysconfig/selinux и меняем параметр SELINUX на disabled или permissive.

3. Разрешение имен hostname и hosts

Для работы сервера 1с предприятия очень важно что бы его имя правильно преобразовывалось в IP. По хорошему мы должны иметь возможность с любого хоста в сети разрешить FQDN и краткое имя сервера, но просто для запуска нам достаточно, что бы имя хоста разрешалось в пределах только самого сервера.

Смотрим какой у нас hostname, если hostname получился похожим на localhost.localdomain обязательно меняем его в файле /etc/sysconfig/network на FQDN-имя сервера, после перезагружаем систему.

Для сервера с именем 1csrv.mydomain.local файл hosts должен выглядеть следующим побразом.

4. Пересоздаем конфигурацию по умолчанию

Удаляем конфигурационные файлы:

Если мы видим вывод подобный приведенному выше, значит все отлично сервер 1с предприятия запустился и работает.

3. Не могу подключиться к серверу 1с предприятия.

2. Проверяем работает ли сервер 1с предприятия. Для этого на сервере выполняем следующую комманду:

3. Настройка Iptables. Сервер 1с предприятия в большинстве случаев находится в пределах локальной сети и его вполне можно использовать с отключенным файрволом без большой угрозы безопасности. Отключаем iptables:

Для тех кто все-таки хочет заморочиться с правильной настройкой.

Консоли администрирования нужен доступ к агенту сервера (ragent) по порту 1540, а для создания базы понадобится еще и доступ к рабочим процессам по портам 1562-1591. Толстому клиенту нужен доступ к менеджеру сервера (rmngr) по порту 1541 и рабочим процессам порты 1562-1591.

Остальное зависит только от вашей фантазии. Для стандартно настроенного файрвола в CentOS набор разрешающих правили будет выглядеть приближенно так:

1. Проверяем установлен ли potgresql-contrib. Для этого запрашиваем список установленных пакетов PostgreSQL:

Если не находим в выводе icu и libicu, устанавливаем их.

Делаем соответствующие ссылки

Заключение.


При настройке сервера 1С на Linux часто можно столкнуться с тем что после успешной установки и запуска службы сервера, работа с сервером тем не менее не возможна. Выражается это в том что ни пользователи, ни администратор в консоли не могут подключиться к серверу 1С.

Это может быть связано как сетевыми настройками, так и с тем, что рабочие процессы сервера либо не стартуют, либо сразу после старта могут завершать свою работу по тем или иным причинам.

Рассмотрим наиболее часто встречающиеся причины проблем с запуском/работой сервера 1С на Linux.

Оглавление

Stopping 1C:Enterprise 8.2 server: Warning: server not running!

Обращаем ваше внимание, что на практике часто может встречаться так называемый «каскад» ошибок.

В этом случае – присутствует сочетание нескольких ошибок и симптоматика поведения системы может отличаться от описанной.

Rphost не запускается/сразу падает, а через некоторое время – падает ragent.

Запустим сервер 1С:Предприятия:

Видим, что rphost отсутствует:


Через непродолжительное время опять проверим статус:


Видим, что остался только rmngr:

При попытке остановить сервер:

Stopping 1C:Enterprise 8.3 server: Warning: server not running!

Это говорит о том что после старта службы 1С сервера, какие-то из его процессов были завершены, и не работают на момент остановки службы.

Решение:

Проверим разрешение имен на сервере 1С – подробное описание читайте тут Установка сервера 1С Предприятие 8.3 на Linux.

В данном случае нас интересует разрешение имен именно нашего сервера, а не клиентского компьютера и не сервера/ов СУБД.

Если нашли несоответствия – исправляем.
После чего удалим «болтающиеся» процессы rmngr командой KILL. Определить их номер PID можно также с помощью команды ps –fU usr1cv8.

После чего убедимся, что процесса больше нет в списке.

И запустим сервер 1С:Предприятия:

Видим все необходимые процессы:


Не запускается сервер 1С. Нет запущенных процессов rphost, rmngr, ragent. Error: service failed to start!

Фактически это означает что сервер 1С:Предприятия не запустился.

Описание:

Запускаем сервер 1С Предприятия:

Система сообщает нам, что служба не была запущена:

Starting 1C : Enterprise 8.3 server : Error : service failed to start !

При проверке статуса службы 1С сервера командой :

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

Видим, что в списке запущенных процессов нет ни ragent, ни rmngr, ни rphost.

Решение:

1. Проверить разрешение DNS-имени.

2. Проверить настройку прав доступа

1. Проверим включена ли система разграничения прав доступа SELinux. Возможно, он работает, а для 1С сервера не задана политика доступа. В этом случае из-за ограничений доступа служба 1С сервера не сможет работать. Вводим команду:

2. Если видим результат:

значит SELinux работает. Либо настраиваем политику доступа для 1С сервера, либо отключаем SELinux.

3. Отключаем SELinux командой:

4. Отредактируем файл настроек чтобы SELinux не запускался при перезапуске системы:

меняем параметр SELINUX:

5. Запускаем север 1С и проверяем его работу.

3. Проверить права на каталоги сервера 1С

В ситуациях, когда установка осуществлялась с ручным созданием/корректированием/копированием каталогов, возможны ситуации, когда некорректно были установлены права на папки сервера 1С:Предприятия.

Проверим права на каталог /home/usr1cv8 командой:

Права на каталог должны быть у пользователя сервера 1С usr1cv8:


Так же следует проверить права на каталоги внутри /home/usr1cv8/, например

Права на каталог должны также быть у пользователя сервера 1С usr1cv8, видим что это не так, скорее всего мы копировали эту папку под пользователем root:


Для исправления этой проблемы установим права на каталог/home/usr1cv8/ и все его содержимое для пользователя и группы usr1cv8:grp1cv8:

Далее, как обычно, запустим и проверим работу сервера 1С:Предприятия.

Ragent не запускается/ практически сразу падает.

После старта сервера 1С нет работающего процесса ragent, хотя процесс rmngr и rphost могут работать.

Описание:

Запускаем сервер 1С:Предприятия:



Видим, что ragent и, возможно, rphost не запущены. Попытки подключиться к серверу 1С оказываются неудачными.

Решение:
Пересоздаем конфигурацию кластера. Это можно сделать, удалив соответствующие файлы – при запуске они будут созданы заново.

1. Остановим сервер 1С:Предприятия.

Stopping 1C:Enterprise 8.3 server: Warning: server not running!

2. Удалим конфигурационные файлы кластера.

Если будет присутствовать еще файл 1CV8Clsto.lst, то его также удаляем.

А лучше удалить содержимое каталога полностью:

При этом, если это сервер 1с устанавливался с настройками отличными от типовых, то путь к файлу реестра кластера будет, соответственно, отличаться.

Например, если вы устанавливали второй экземпляр сервера, то могли установить его в каталог:

3. Удалим «болтающиеся» процессы rmngr (и возможно rphost) командой KILL. Определить их номер PID можно также с помощью команды ps –fU usr1cv8. Например если PID=17042:

После чего убедимся, что процесса больше нет в списке.

4. Запускаем сервер 1С:Предприятия:

Система сообщает, что запуск прошел успешно:

5. Не верим системе на слово. Проверяем работу:

Видим все необходимые процессы:


Процесс rphost запускается и падает через некоторое время.


Пример полного текста ошибки:
Сервер 1С:Предприятия не обнаружен
Не запущен ни один рабочий процесс. Соединение с информационной базой невозможно.

Описание ошибки:

После выполнения команды.


После запуска все процессы работают, что можно увидеть командой:


Но, через некоторое время процесс rphost падает, что можно увидеть при повторной проверке:


Решение:

Часто это случается из-за отсутствия свободного места на диске на сервере 1С.

Проверим использование дискового пространства командой (подрбнее о командах Linux можно почитать тут Основные команды Linux.):


Видим что свободное место закончилось. Для решения проблемы освободим место на диске или смонтируем дополнительный диск.

Еще можно посмотреть

Хранение файлов 1С в томах на nfs-шаре Linux

Утилита ring license для 1С версии 8.3.14 и выше под Linux

Для чего нужен 1C ring license? На текущий момент широко распространено использование программных лицензий. И системы на базе 1С в этом не исключение. Но, помимо простой активации пин-кодов, программная лицензия 1С также нуждается в обслуживании. Для обслуживания разработчику требуются знания об инструменте для получения списков, информации, анализа состояния файлов программных лицензий. Об этом инструменте мы […]

Основы работы в Linux

Основы работы в Linux

Основы работы в Linux. Как подключиться к серверу. Как скопировать файлы на сервер. Редактирование конфигурационных файлов.

Ошибки на клиенте 1с линукс шрифты

Ошибки на клиенте при работе с сервером 1С на Linux. Часть 2

Разбор наиболее часто встречающихся ошибок при работе с 1С на Linux.

Установка PostgreSQL для 1С на Linux

Установка PostgreSQL для 1С на Linux

Пошаговый процесс установки СУБД PostgreSQL для 1С на Linux сервер.


Отладка на сервере 1С на Linux


Администрирование серверов 1С на Linux

Если в отладочный режим необходимо перевести сервер «1С:Предприятия» работающего в режиме «демона» в ОС Linux, то необходимо выполнить следующие операции:

1. Остановить сервер «1С:Предприятия».

2. В конфигурационном файле srv1cv83 установить значение параметра SRV1CV8_DEBUG в значение 1.

3. Сохранить конфигурационный файл.

4. Запустить сервер «1С:Предприятия».

(5) Shaka13, нет, єто я не досмотрел.
у меня стоит
SRV1CV8_DEBUG=1 , после sudo service srv1cv83 restart все нормально отлаживается.

(6) pumbaE, странно почему у меня не стартует :(

и еще вопрос в режиме отладки можно все время работать серверу или на время отладки включать?

(7) Shaka13, в боевом режиме отключен, на сервере для разработки включен. (на экземпляре тестовог, dev сервера)

p.s: добавьте вручную ключ -debug

Во многих источниках пишут про конфигурационный файл, а где его искать не указывают. Мне, как новичку в linux, пришлось потратить время.

P.S. Проверить с какими параметрами запущен сервер 1с в centos можно так: ps aux | grep 1c

Скорее всего у Вас проблема в том, что Вы не остановили сервер 1с перед редактированием файла и получилось так что система пытается найти процесс 1с с параметром debug и отключить его, а не может потому что его нет.

Сервер как «демон» ОС Linux

Если в отладочный режим необходимо перевести сервер «1С:Предприятия» работающего в режиме «демона» в ОС Linux, то необходимо выполнить следующие операции:

1. Остановить сервер «1С:Предприятия».

Копировать в буфер обмена
/etc/init.d/srv1cv83 stop
2. В конфигурационном файле srv1cv83 установить значение параметра SRV1CV8_DEBUG в значение 1.

Копировать в буфер обмена
SRV1CV8_DEBUG=1
3. Сохранить конфигурационный файл.

4. Запустить сервер «1С:Предприятия».

Копировать в буфер обмена
/etc/init.d/srv1cv83 start

Как писали в (10) линукс установка 1С имеет несколько вариаций, в отличии от винды.

Конфигурационный файл /etc/sysconfig/srv1cv83 (для RPM-системы) используется для задания параметров запуска агента сервера «1С:Предприятия» с помощью скрипта /etc/init.d/srv1cv83. Если установка выполнялась для DEB-системы, то нижеперечисленные параметры следует редактировать в файле /etc/init.d/srv1cv83.

ВНИМАНИЕ! Данный конфигурационный файл используется только в случае запуска сервера «1С:Предприятия» в операционной системе Linux.
С помощью этого конфигурационного файла можно настраивать следующие параметры:

Путь к файлу закрытого ключа Kerberos.

Каталог, в котором будут расположены служебные файлы кластера серверов (в том числе список кластеров и список информационных баз кластера).

Номер главного порта агента кластера. Этот порт используется агентом кластера для обращения к центральному серверу. Порт агента кластера также указывается в качестве сетевого порта рабочего сервера.

Номер сетевого порта кластера, создаваемого по умолчанию при первом запуске ragent.

Диапазоны сетевых портов для динамического выбора. Из них выбираются служебные порты процессов кластера при невозможности их выбора из настроек соответствующего рабочего сервера.

Запуск в режиме отладки:

Уровень безопасности соединений;

Период проверки системы отслеживания разрыва соединений, миллисекунды (см. здесь).

Значение по умолчанию: 1 000.

Таймаут проверки системы отслеживания разрыва соединений, миллисекунды (см. здесь).

Значение по умолчанию: 5 000.

К дополнение к (12). В первый раз решал вопрос с линуксом.
Админ уверил что все сделал верно, но отладка не включилась!
Попросил выполнить команду:

Это говорит, что линкукс работает в режиме "демона" и отладка на сервере включена!
Затем он мне сказал, что на других машинах отладка работала.
Я уточнил про блокировку портов. И сам проверил браундмауер.
Проблем с блокировкой не было!
Затем я уточнил в одной ли подсети работает сервер и ПК для отладки.
Админ сказал, что в разных!
После переноса ПК в подсеть сервера отладка заработала!
Глубоко не копал, но похоже для отладки нужна одна подсеть или как сделать, чтобы работало в разных? (13)вставлю свои 5 копеек, попробуйте в конфигураторе в подключение отладки поставить галку "искать предметы отладки на другом компьютере" и ввести ип адрес вашего сервера Вопрос сюда же такой. Отладка работает, все в порядке, но как быть с окном "ВЫ можете подождать отклика приложения. ", которое появляется в процессе отладки из окна 1С:Предприятия, находящегося в останове? оно блокирует работу конфигуратора, и приходится каждый раз жать "Подождать" и потом можно успеть выполнить пару действий в конфигураторе, затем снова выходи это окно. (16) Нет, так и мучаюсь. Никто нигде не знает, как это убрать, а самому мозгов не хватает найти Нет, так и мучаюсь. Никто нигде не знает, как это убрать, а самому мозгов не хватает найти (18) Если оболочка GNOME3 и речь про его блокирующее окно - то менять оболочку. Столкнулся с такой же проблемой. Сервер на линуксе. Не запускалась отладка, хотя в "отладка-подключение" всё было подключено. Сервер и отладочная машина были в одной подсети. Проблема оказалась в брандемауре виндовс отладочной машины.

Отладка запускается (Linux Mint, 1С:Предприятие 8.3.14.1779), но на первой же точке останова блокируются события мышки. Даже окно конфигуратора не передвинуть !
Но клавиатурные события отрабатываются, кнопки нажимаются.
Если нажать F10 (перейти к следующей инструкции), конфигуратор "размораживается", окно можно двигать.
А если, например, Shift-F9 - вызывается окно вычисления выражений, но текстового курсора нет, поскольку "мышка сдохла".

Пока разработку в среде 1С по Linux не могу вести из-за двух вещей, которые "бесят" - проблема с отладкой и отсутствие аналога консоли администрирования. Управлять списком баз на сервере 1С под Linux в командной
строке через ras/rac то еще удовольствие. Дополнительная машина под Windows для администрирования баз - это "костыль". Пока такой вариант использовал:
Сервер 1С + PostgreSQL - под Linux, там же VitualBox
В среде Virtual Box + Windows 10 установлен Сервер 1С, клиент 1С и консоль администрирования.
USB ключик у меня один (на нем лицензия минисервера + клиента 1С).

Новые базы создаю под Linux из 1С. Потом эти же базы в консоли для Win10 подключаю к серверу 1С, который под Win 10. В результате одна и та же база может быть подключена к серверу 1С Linux и под Windows.
Базу можно из консоли удалить. Останутся только "хвосты" на сервере 1С под Linux. Вот их и придется
потом отрубать ручками.

Костыли, такие костыли . если есть у кого рецепты получше, вразумите пожалуйста.
А в остальном, под Linux гораздо приятнее. Компьютер без толку "не молотит". Это
отчетливо слышно. Под Linux вентилятор на системном блоке не слышно, под Win 10 гудит.
А настройка скорости работы вентилятора от температуры датчика - в UEFI, т.е. вне ОС.

Читайте также: