Администрирование · 12 мин
Как обновить 1С, опубликованную на IIS
Пошаговая инструкция по обновлению 1С, опубликованной на веб-сервере IIS: порядок обновления платформы и конфигурации, перепубликация базы, проверка работы и типичные ошибки.
Когда база 1С опубликована на веб-сервере IIS, обновление затрагивает не только саму конфигурацию, но и связку «платформа — веб-сервер — публикация». Если просто обновить платформу и забыть про IIS, пользователи, работающие через браузер или тонкий клиент по HTTP, либо не смогут подключиться, либо получат ошибку несоответствия версий. Поэтому обновление всегда выполняется комплексно: конфигурация, платформа на сервере, перепубликация базы.
Типичная ситуация выглядит так: информационная база размещена на сервере 1С:Предприятия или в файловом варианте, а доступ извне организован через публикацию на IIS (веб-клиент, веб-сервисы, HTTP-сервисы, мобильный клиент). После обновления платформы старый модуль веб-расширения перестаёт соответствовать новой версии, и публикацию нужно выполнить заново утилитой webinst или через конфигуратор.
Ниже разобран полный цикл: подготовка и резервное копирование, обновление конфигурации, установка новой платформы, перепубликация на IIS, проверка результата и разбор типичных ошибок. Инструкция подходит для Windows Server с IIS и типовыми конфигурациями 1С.
Подготовка: что проверить до обновления
Перед любыми действиями определите, как именно устроен доступ к базе: веб-клиент в браузере, тонкий клиент через HTTP, опубликованные веб-сервисы или HTTP-сервисы, которыми пользуются внешние системы. От этого зависит, что сломается при ошибке и что нужно проверять после обновления. Список публикаций виден в консоли IIS в разделе сайтов и виртуальных каталогов.
Уточните текущие версии: релиз платформы на сервере (команда или оснастка «Программы и компоненты»), версию конфигурации (в конфигураторе: «Конфигурация — Поддержка — Настройка поддержки») и версию модуля веб-расширения 1С, зарегистрированного в IIS. Платформа и модуль веб-расширения должны совпадать по версии — это ключевое условие работоспособности.
Зафиксируйте имя публикации и путь к файлу default.vrd — обычно он лежит в каталоге публикации внутри веб-каталога IIS (например, в подпапке C:\inetpub\wwwroot). Этот файл содержит строку подключения к базе и понадобится, если потребуется восстановить публикацию вручную.
Посмотреть в «Программы и компоненты» или в папке C:\Program Files\1cv8
Открыть консоль IIS и записать имена приложений, связанных с 1С
Находится в каталоге публикации, содержит строку подключения к базе
Определяет перечень проверок после обновления
Резервное копирование — обязательный шаг
Обновление конфигурации изменяет структуру базы данных, и откат без копии невозможен. Для файловой базы достаточно скопировать файл 1Cv8.1CD в отдельный каталог при отсутствии активных сеансов. Для клиент-серверной базы делайте выгрузку через конфигуратор («Администрирование — Выгрузить информационную базу») либо штатную резервную копию средствами СУБД (MS SQL, PostgreSQL).
Дополнительно скопируйте каталог публикации с файлом default.vrd и, при наличии, настройки пула приложений IIS. Это позволит быстро вернуть публикацию, если перенастройка пройдёт некорректно. Проверьте, что копия базы действительно открывается, — непроверенная резервная копия равна её отсутствию.
Обновление конфигурации информационной базы
Завершите все сеансы пользователей: в клиент-серверном варианте — через консоль кластера, в файловом — попросите пользователей выйти и проверьте отсутствие открытых сеансов. Откройте базу в конфигураторе под учётной записью с полными правами и установите блокировку регламентных заданий и сеансов.
Для типовой конфигурации на поддержке используйте «Конфигурация — Поддержка — Обновить конфигурацию» и выберите файл обновления (cf/cfu) или поиск доступных обновлений. Если конфигурация доработанная, потребуется сравнение и объединение с аккуратным разбором изменённых объектов — пропуск этого этапа грозит потерей доработок. После загрузки обновления выполните «Обновить конфигурацию базы данных» (F7) и дождитесь окончания реструктуризации.
Многие типовые конфигурации после обновления запускают отложенные обработчики обновления данных при первом старте в режиме Предприятия. Не торопитесь пускать пользователей: запустите базу под администратором, дождитесь завершения обработчиков (прогресс виден в разделе обслуживания) и только потом открывайте доступ.
- 1Завершить сеансы и заблокировать вход пользователей
- 2Открыть конфигуратор и выполнить обновление конфигурации из файла cfu/cf
- 3Выполнить обновление конфигурации базы данных (F7)
- 4Запустить режим Предприятия и дождаться отработки обработчиков обновления
- 5Проверить версию конфигурации в разделе «О программе»
Обновление платформы 1С на сервере с IIS
Скачайте дистрибутив нового релиза платформы с официального портала 1С и установите его на сервере с компонентами «Сервер 1С:Предприятия» (если используется) и «Модули расширения веб-сервера». Именно второй компонент критичен для IIS: без него публикация работать не будет. Разрядность модуля должна соответствовать разрядности пула приложений IIS — для 64-битного IIS ставьте 64-битный модуль.
Имейте в виду: тонкие и веб-клиенты требуют, чтобы версия платформы, обслуживающая публикацию, была не ниже версии, с которой работает база. После установки нового релиза старый можно оставить — разные версии платформы сосуществуют на одном сервере, а публикации перенастраиваются на нужную.
Если используется клиент-серверный вариант, обновите платформу и на сервере 1С:Предприятия, и перезапустите службу агента сервера. Порядок имеет значение: сначала обновляется сервер, затем выполняется перепубликация на IIS уже новым модулем веб-расширения.
Перепубликация базы на IIS после обновления
Самый простой способ — из конфигуратора: «Администрирование — Публикация на веб-сервере». Выберите веб-сервер IIS, укажите имя публикации (оставьте прежним, чтобы не менять ссылки у пользователей), отметьте нужные варианты доступа (веб-клиент, HTTP-сервисы, веб-сервисы) и нажмите «Опубликовать». Конфигуратор перезапишет default.vrd и привяжет публикацию к новому модулю веб-расширения.
Альтернатива — утилита командной строки webinst из каталога новой платформы. Она удобна для автоматизации и для случаев, когда конфигуратор на сервере недоступен. Пример команды для публикации:
"C:\Program Files\1cv8\8.3.24.1467\bin\webinst.exe" -publish -iis -wsdir "MyBase" -dir "C:\inetpub\wwwroot\MyBase" -connStr "Srvr=Server1C;Ref=MyBase;"После публикации убедитесь, что в IIS у виртуального каталога корректно настроен обработчик: в сопоставлениях обработчиков должен быть модуль 1С (wsisapi.dll или аналогичный из каталога новой платформы), а пул приложений работает без ошибок. При смене версии платформы старые ссылки на модуль иногда остаются от прежнего релиза — это исправляется повторной публикацией.
Если публикация используется для внешних систем (HTTP-сервисы, обмены), проверьте, что в default.vrd сохранились настройки сервисов и пулов соединений. При перепубликации через конфигуратор эти параметры обычно переносятся, но при ручном редактировании файла легко их потерять.
Проверка результата и типичные ошибки
Первичная проверка — открыть адрес публикации в браузере с самого сервера и со стороннего компьютера. Должна загрузиться страница входа веб-клиента, после авторизации — рабочий интерфейс без сообщений о несовместимости версий. Затем проверьте работу тонкого клиента по HTTP и, при наличии, вызов опубликованных веб-сервисов.
Типичные ошибки после обновления: «Ошибка загрузки модуля веб-расширения» (несовпадение версии платформы и модуля либо разрядности), «404 Not Found» (публикация удалена или изменилось имя виртуального каталога), «Ошибка соединения с сервером 1С:Предприятия» (не обновлён или не запущен сервер 1С, неверная строка подключения в default.vrd), ошибки прав доступа (у пула приложений нет прав на каталог публикации и временные файлы).
Для диагностики смотрите журнал событий Windows (раздел Application), логи IIS (по умолчанию в C:\inetpub\logs\LogFiles) и технологический журнал 1С при подозрении на ошибки платформы. Большинство проблем локализуется уже по коду ответа HTTP и тексту ошибки в браузере.
Как проверить результат
Страница входа загружается, после авторизации открывается интерфейс
Ошибка модуля веб-расширения, 404 или пустая страница
Модуль в обработчиках IIS указывает на каталог нового релиза
Ссылка на каталог старой версии платформы
HTTP- и веб-сервисы отвечают на тестовые запросы
Ошибки 500 или недоступность сервисов
Все обработчики обновления завершены без ошибок
Обработчики зависли или завершились с ошибками
Особые сценарии и ограничения
Несколько публикаций на одном сервере
Если на IIS опубликовано несколько баз, каждую нужно перепубликовать отдельно, при этом разные публикации могут обслуживаться разными версиями платформы — это удобно для поэтапного перевода баз. Назначьте каждой публикации собственный пул приложений, чтобы перезапуск одной не затрагивал остальные.
Обновление без остановки работы
Полностью «горячего» обновления конфигурации с реструктуризацией не существует: монопольный доступ к базе обязателен. Сократить простой можно, выполнив предварительную загрузку обновления в тестовую копию, отработав все шаги и замерив время реструктуризации. Динамическое обновление применимо только для небольших изменений без изменения структуры данных и не рекомендуется как основной сценарий.
Когда стоит привлечь специалиста
Самостоятельное обновление безопасно для типовых конфигураций на полной поддержке и одной публикации. Если конфигурация сильно доработана, используются нестандартные HTTP-сервисы, интеграции с внешними системами или кластер серверов, привлеките специалиста по 1С — цена ошибки в таких схемах заметно выше стоимости сопровождения.
Как выбрать действие
Что важно запомнить
Обновление 1С на IIS — это цепочка: резервная копия, обновление конфигурации, обновление платформы с модулем веб-расширения, перепубликация базы и проверка через браузер. Чаще всего администраторы забывают именно перепубликацию и контроль разрядности модуля — начинайте диагностику с этих двух пунктов.
Частые вопросы
Нужно ли перепубликовывать базу после каждого обновления конфигурации?
Нет. Перепубликация обязательна при смене версии платформы или модуля веб-расширения. Если обновилась только конфигурация, а платформа осталась прежней, публикация продолжит работать — достаточно перезапустить пул приложений, чтобы сбросить кэш.
Веб-клиент пишет про несовместимость версий — что делать?
Это признак того, что публикация обслуживается модулем веб-расширения старой версии. Выполните перепубликацию из конфигуратора новой платформы или через webinst, затем проверьте в IIS, что обработчик указывает на каталог актуального релиза.
Можно ли держать на одном сервере две версии платформы?
Да, релизы платформы устанавливаются параллельно в отдельные каталоги. Разные публикации могут работать на разных версиях — это стандартный приём для поэтапного перевода баз. Важно, чтобы каждая публикация была привязана к своему модулю веб-расширения.
Чем перепубликация через webinst отличается от публикации через конфигуратор?
Результат одинаков — создаётся виртуальный каталог и файл default.vrd. Webinst удобен для автоматизации скриптами и работы без конфигуратора, конфигуратор проще для ручной настройки и нагляднее показывает варианты доступа (веб-клиент, сервисы).
У пользователей сломались ярлыки после обновления — почему?
Скорее всего, при перепубликации изменилось имя виртуального каталога, а значит, и URL. Опубликуйте базу под прежним именем либо разошлите пользователям новые ссылки. Чтобы проблема не повторялась, фиксируйте имя публикации до начала работ.
Нужно ли останавливать IIS на время обновления?
Сам сайт останавливать не обязательно, но базу нужно закрыть для пользователей на время обновления конфигурации. Достаточно завершить сеансы и заблокировать вход средствами 1С; перезапуск пула приложений выполняется после перепубликации.