Как решить проблемы с разрядностью и веб-сервером Apache при обновлении платформы 1С?

Системный администратор 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

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

Причины несовместимости разрядности платформы и лицензии сервера 1С

Рассмотрим ситуацию: операционная система Windows Server имеет 64-разрядную архитектуру, СУБД PostgreSQL также установлена в 64-битном исполнении, однако лицензия на сервер 1С:Предприятие приобретена для 32-разрядной версии (x86).

Если в такой конфигурации установить 64-битный релиз платформы, служба 1C:Enterprise 8.3 Server Agent создаст новый рабочий процесс rphost x64. Лицензия на 32-разрядный сервер не позволит запустить 64-битный процесс сервера 1С. Кроме того, при создании новой службы Агента сервера создается новый реестр кластера (каталог srvinfo), в котором отсутствует информация о ранее зарегистрированных информационных базах. Из-за этого при попытке подключения система сообщает, что база пустая или не найдена.

Выясним главные правила работы с разрядностью сервера:

  1. Зависимость от лицензии: 32-разрядная лицензия на сервер 1С строго привязана к x86-версии службы сервера. На 64-битной ОС Windows вполне штатно работает 32-разрядный сервер 1С, поэтому устанавливать следует платформу разрядности x86.
  2. Сохранение списка баз: Чтобы новый Агент сервера «увидел» существующие базы, необходимо запускать службу с параметром -d, указывающим на старый каталог данных кластера srvinfo (где находится файл 1CV8Clst.lst).

Исправление ошибки запуска веб-сервера Apache (wsap22.dll / wsap24.dll)

После возврата на 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С должна строго совпадать:

  1. 32-разрядный процесс Apache не может загрузить 64-битную динамическую библиотеку (DLL), и наоборот.
  2. Путь C:\Program Files\ на 64-битных ОС Windows относится к 64-разрядным приложениям. 32-разрядная платформа 1С устанавливается в каталог C:\Program Files (x86)\.
  3. При обновлении версии платформы меняется номер релиза в пути к файлу модуля, а конфигурационный файл Apache (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. Автоматическая перепубликация из Конфигуратора

Посмотрим на более простой и безопасный способ обновления настроек:

  1. Запустим 1С:Предприятие в режиме Конфигуратор от имени Администратора.
  2. Перейдем в меню Администрирование — Публикация на веб-сервере...
  3. Проверим указанные параметры и нажмите кнопку Опубликовать.

Платформа автоматически перепишет директивы в 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С, веб-сервера и используемых библиотек гарантирует стабильную работу всей системы при любых обновлениях.

← На главную