При обновлении платформы 1С:Предприятие системные администраторы часто сталкиваются с ситуациями, когда после установки новой версии службы перестают запускаться, базы данных «исчезают» из списка кластера или отваливается веб-сервер. Проанализируем типичные причины таких сбоев и разберем по шагам, как правильно настроить разрядность платформы и веб-сервера Apache.
Рассмотрим ситуацию: операционная система Windows Server имеет 64-разрядную архитектуру, СУБД PostgreSQL также установлена в 64-битном исполнении, однако лицензия на сервер 1С:Предприятие приобретена для 32-разрядной версии (x86).
Если в такой конфигурации установить 64-битный релиз платформы, служба 1C:Enterprise 8.3 Server Agent создаст новый рабочий процесс rphost x64. Лицензия на 32-разрядный сервер не позволит запустить 64-битный процесс сервера 1С. Кроме того, при создании новой службы Агента сервера создается новый реестр кластера (каталог srvinfo), в котором отсутствует информация о ранее зарегистрированных информационных базах. Из-за этого при попытке подключения система сообщает, что база пустая или не найдена.
Выясним главные правила работы с разрядностью сервера:
-d, указывающим на старый каталог данных кластера srvinfo (где находится файл 1CV8Clst.lst).После возврата на 32-разрядную платформу 1С часто возникают проблемы с веб-сервером Apache. В журнале событий Windows или логах Apache появляется ошибка вида:
C:/Apache22/conf/httpd.conf: Cannot load C:/Program Files/1cv8/8.3.10.2580/bin/wsap22.dll into server
Проанализируем причину этой ошибки. Разрядность веб-сервера Apache и загружаемого модуля расширения 1С должна строго совпадать:
C:\Program Files\ на 64-битных ОС Windows относится к 64-разрядным приложениям. 32-разрядная платформа 1С устанавливается в каталог C:\Program Files (x86)\.httpd.conf) автоматически не всегда обновляет этот путь.Разберем по шагам, как восстановить работоспособность веб-сервера Apache после смены разрядности или обновления платформы.
Способ 1. Ручное изменение пути в httpd.conf
Откроем файл конфигурации Apache (обычно находится по пути C:\Apache22\conf\httpd.conf или C:\Apache24\conf\httpd.conf) и найдем строчку загрузки модуля 1С. Изменим путь, указав верный каталог Program Files (x86) и актуальный номер версии платформы:
# Для Apache 2.2 и 32-разрядной платформы 1С:
LoadModule _1cws_module "C:/Program Files (x86)/1cv8/8.3.10.2580/bin/wsap22.dll"
# Для Apache 2.4 используется библиотека wsap24.dll:
# LoadModule _1cws_module "C:/Program Files (x86)/1cv8/8.3.10.2580/bin/wsap24.dll"
После сохранения изменений необходимо перезапустить службу Apache.
Способ 2. Автоматическая перепубликация из Конфигуратора
Посмотрим на более простой и безопасный способ обновления настроек:
Платформа автоматически перепишет директивы в httpd.conf, поставив правильный путь к DLL-файлу нужной разрядности и версии.
Способ 3. Использование консольной утилиты webinst
Для автоматизации системные администраторы могут использовать утилиту командной строки webinst, которая поставляется вместе с платформой:
"C:\Program Files (x86)\1cv8\8.3.10.2580\bin\webinst.exe" -publish -apache22 -wsdir BaseName -dir "C:\inetpub\wwwroot\BaseName" -connstr "Srvr=ServerName;Ref=BaseName;" -confpath "C:\Apache22\conf\httpd.conf"
Соблюдение соответствия разрядности ОС, службы сервера 1С, веб-сервера и используемых библиотек гарантирует стабильную работу всей системы при любых обновлениях.