Top.Mail.Ru
Заказать консультацию
специалиста 1С
Отправить заявку

Нажимая на кнопку, вы даете согласие на обработку своих персональных данных и соглашаетесь с политикой конфиденциальности.

Ошибки при обновлении серверной платформы и их решения

22.09.2023
6301
Время прочтения - 10 мин.
Заказать консультацию

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

В данной статье разберем некоторые из проблем, которые могут встретиться на разных этапах обновления, а также рассмотрим их решение:

1) Если после обновления платформы на сервере и на рабочем ПК при заходе в базу у вас отображается старая версия платформы, то значит, вы не обновили службу агента сервера.

1.png

2.png


Для начала проверим, был ли установлен компонент сервера. Для этого на сервере в Панели управления выбираем “просмотр: Категория”, открываем “Удаление программы” и находим установленную версию платформы, нажимаем “Изменить”.

3.jpg

4.png


Проверяем, установлен ли компонент “Сервер 1С:Предприятия 8”. Если он не установлен, то отключаем службу “Агент сервера 1С:Предприятия 8.3”, желательно проверить и запомнить параметры службы, затем выполняем установку компонента. Если же компонент установлен, то необходимо обновить путь к файлу ragent.exe в настройках службы “Агент сервера 1С:Предприятия 8.3”. Подробнее об этом в конце статьи. Про настройку и запуск “Агент сервера 1С:Предприятия 8.3” можно прочитать тут.

5.png


2) Если при установке платформы появляется ошибка: “Ошибка при запуске службы “Агент сервера 1С:Предприятия 8.3” (1C:Enterprise 8.3 Server Agent). Убедитесь, что у вас имеются разрешения на запуск системных служб.”, значит, вы, скорее всего, ошиблись при указании пользователя, от имени которого будет запускаться служба. Эта ошибка может быть вызвана рядом факторов. Однако самой распространенной причиной является именно некорректный выбор пользователя при установке. Причем это может быть как выбор неправильного пользователя, у которого недостаточно прав для активации служб (рекомендуется специально создать пользователя при установке, программа предлагает автоматически создать пользователя USR1CV8 и наделить его соответствующими правами), так и ввод неправильного пароля для выбранного пользователя.

6.png


Для решения проблемы, если вы нажали “Пропустить”, можно поменять параметры службы в реестре и попробовать запустить службу вручную. Однако не всегда есть желание разбираться в параметрах реестра, к тому же тяжело контролировать их правильность заполнения. Более простым решением является удаление компонента (Панель управления - Удаление программы – Изменить, затем убрать компоненту из списка и далее повторить операцию установки), затем повторить установку компонента с правильными данными пользователя. Однако иногда ошибка не убирается. Как один из вариантов решения: можно удалить саму службу и установить заново. Для этого нужно повторно удалить компонент “Сервер 1С:Предприятия 8”, а затем удалить службу. Для этого копируем название службы (Панель управления – Просмотр: Крупные значки – Администрирование – Службы – находим службу “Агент сервера 1С:Предприятия 8.3” – ПКМ – Свойства – Имя службы).

7.jpg

8.jpg

9.png

10.png


После того, как имя службы скопировано, открываем командную строку от имени администратора.

11.png


Прописываем и выполняем две команды последовательно:

1. sc stop “<имя службы>” (выглядит как: sc stop “1C:Enterprise 8.3 Server Agent (x86-64)”);

2. sc delete “<имя службы>” (выглядит как: sc delete “1C:Enterprise 8.3 Server Agent (x86-64)”).

12.png


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

После того как служба была удалена, повторно выполняем установку компонента “Сервер 1С:Предприятия 8” (выставляем галку ”Установить сервер 1С:Предприятия 8 как сервис Windows (рекомендуется)”). На этот раз ошибка должна пропасть.

Если при запуске службы “Агент сервера 1С:Предприятия 8.3 (x86-64)” служба сразу останавливается, то это тоже может быть вызвано большим разнообразием ошибок:

1. Недостаточно памяти на диске или кэш сервера переполнен;

2. Сервер был переименован;

3. Повредился файл с настройками;

4. Заняты порты, используемые сервером и другие ошибки.

Однако если мы выполняем обновление платформы на сервере, который до этого стабильно работал, то большинство из этих проблем не могли возникнуть.

Для решения проблемы сначала следует проверить, есть ли место на диске (возможно, при скачивании и установке новой версии платформы действительно места на диске не осталось для хранения временных файлов). После этого нужно проверить, возможно ,у пользователя, под которым выполняется запуск службы, нет доступа к папке, в котором расположены данные сервера. Для этого переходим по пути, в котором у нас установлены платформы (по умолчанию C:\Program Files\1cv8 или C:\Program Files (x86)\1cv8). Находим папку srvinfo, жмем ПКМ – Свойства – Безопасность.

13.png


В появившемся окне нас интересуют группы: Пользователи, Администраторы, USR1CV8 (если для него были созданы отдельные правила). Нажимаем “Изменить…”.

14.png


Выбираем одну из групп, выставляем галку напротив полного доступа и нажимаем “Применить”.

15.png


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

Подпишитесь на дайджест!
Подпишитесь на дайджест, и получайте ежемесячно подборку полезных статей.

Нажимая на кнопку, вы даете согласие на обработку своих персональных данных и соглашаетесь с политикой конфиденциальности.

3) Если служба запущена, но после обновления платформы на пользовательских ПК при подключении к базам появляются ошибки рода: “Ошибка соединения с сервером 1С:Предприятие 8.3 Подключение не установлено, т.к. конечный компьютер отверг запрос на подключение server_addr=tcp://127.0.0.1:1740 descr=Ошибка сетевого доступа к серверу (Windows Sockets — 10061(0x0000274D). Подключение не установлено, т.к. конечный компьютер отверг запрос на соединение.) line=590 file=.\Src\DataExchangeTcpClientItmpl.cpp»”,

16.png


а при попытке запустить “Консоль администрирования серверов 1C” получаем аналогичную ошибку,

17.png


и при этом агент сервера был запущен (проверить, что служба активна), то одной из причин именно при обновлении платформы является сброс параметров агента сервера, а конкретно: сброс значений портов к стандартным. Чтобы проверить, какие порты использовались до обновления, можно воспользоваться следующими способами:

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

18.png


2. Проверить используемые порты через правила для входящих подключений в брандмауэре. Для этого нужно зайти в дополнительные параметры брандмауэра защитника windows (Панель управления – Просмотр: Крупные значки – Брандмауэр Защитника Windows – Дополнительные параметры), выбрать вкладку “Правила для входящих подключений”, найти соответствующее правило (обычно названия правил содержат в себе привязку к 1С, например: “1С-Сервер”).

19.png

20.png

21.png


Если же по имени правило найти не удается, стоит попробовать отыскать подходящее правило по указанным портам (в столбце “Локальный порт” найти строчку с портами, указанными при подключении к базе с пользовательского ПК):

22.png


Чтобы предотвратить сбрасывание настроек портов в будущем, рекомендуется при обновлении платформы убирать галку с установки сервиса,

23.png


затем вручную прописать путь к Агенту сервера в настройках службы: заходим в редактор реестра (Пуск – Выполнить (или Win+R) – regedit), затем переходим в настройки службы Агента сервера (Для “1С:Предприятия 8.3” используется путь: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.3 Server Agent (x86-64) ). Находим ImagePath, открываем его. В начале строки меняем путь к новому файлу ragent.exe. По умолчанию файл ragent.exe находится: C:\Program Files\1cv8\<Версия платформы> или C:\Program Files (x86)\1cv8\<Версия платформы>, в папке bin (при обновлении пути служба должна быть отключена). После этого запускаем службу и проверяем версию.

24.png


В данном параметре также можно поменять настройки портов, если они сбросились к стандартным (параметры стандартных портов выглядят так: “ -regport 1541 -port 1540 -range 1560:1591”). Следовательно, если у вас до обновления были нестандартные порты, то следует заменить данные значения портов на нужные (для примера с картинок настройки будут выглядеть так: “ -regport 1741 -port 1740 -range 1760:1791”), затем запустить службу и проверяем доступ к серверу.

4) Т.к. по умолчанию 1С регистрирует порт 1541 для менеджера кластера, то после установки новой версии технологической платформы системы 1С Предприятия, при запуске службы по умолчанию будет создан новый кластер и запущен процесс rmngr.exe, даже если он в целом не нужен на сервере, и мы не хотим использовать этот рабочий сервер в качестве центрального сервера кластера. На данный момент нет возможности управлять созданием локального кластера при первоначальном запуске службы 1С с помощью параметров командной строки службы. Данную задачу можно решить несколькими способами:

1.Удалить созданный кластер из консоли администрирования кластера 1С:

25.jpg


2. Для того, чтобы при первоначальном запуске службы 1С новый кластер не создавался, перед её запуском в каталоге служебных файлов данной службы, который указан в строке её запуска после ключа –d, необходимо создать файл с именем 1cv8wsrv.lst следующего содержания:

{

{0},

{0},0,1}

Мы получим такой же файл при удалении локального кластера, как это описано в первом варианте.

После этого можем запускать данную службу 1С. При старте службы происходит проверка наличия файла 1cv8wsrv.lst в каталоге служебных файлов новой службы 1С. Из этого файла читаются данные о зарегистрированных кластерах. Если файла нет — создается кластер по умолчанию с параметрами, заданными в строке запуска службы. Если файл есть, данные читаются из него и автоматического создания не происходит. Соответственно, в этом случае наличие данного файла подтверждается и новый кластер не создается.

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

26.png

 

Для включения режима отладки 1С в режиме клиент-сервер достаточно последовать простым инструкциям для каждой версии 1С:

  • Остановить службу 1C Enterprise Server Agent.

  • Запустить редактор системного реестра. Чтобы открыть редактор реестра, необходимо нажать Windows + R (или Пуск-Выполнить) и ввести в командную строку regedit.

  • Найти ветку реестра [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.3 Server Agent].

  • Скорректировать атрибут «ImagePath»= , добавив «-debug» или «/debug».

  • Запустить службу 1C Enterprise Server Agent.

Пример:

До включения:

«C:\Program Files\1cv83\bin\ragent.exe» -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d «C:\Program Files\1cv83\server»

После включения отладки:

«C:\Program Files\1cv83\bin\ragent.exe» -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d «C:\Program Files\1cv83\server» -debug


Заказать консультацию специалиста 1С
Оставьте заявку и наши эксперты проконсультируют вас по данной статье.
Отправить заявку

Нажимая на кнопку, вы даете согласие на обработку своих персональных данных и соглашаетесь с политикой конфиденциальности.

Рассказать друзьям
Для разработчиков 1С
Вам может быть интересно: