Столкнулся с неприятным - служба сервера 1С самопроизвольно останавливается через несколько секунд после старта.
Что есть: Windows 10х64, 1С х32 от 8.3.8 до 8.3.10.8.3.10.2505.
Что делал:
- изучал журнал событий, но там ничего кроме
Служба "Агент сервера 1С:Предприятия 8.3" неожиданно прервана. Это произошло (раз): много!
- удалял, перемещал, давал права на папку srvinfo;
- менял запуск службы с пользователя USR1CV8 на системную, добавлял USR1CV8 в администраторы;
- всячески менял параметры в строке запуска службы;
- запускал ragent как приложение, с тем же результатом
c:\Program Files (x86)\1cv8\8.3.10.2505\bin>ragent
1C:Enterprise 8.3 (8.3.10.2505) Server Agent started. Ctrl+C to exit.
1C:Enterprise 8.3 (8.3.10.2505) Server Agent finished.
- бил в бубен, неистово гуглил.
Прошу совета, куда еще можно копать / что предпринять. Спасибо.
8.3.11 ? Вы шутите?
8.3.9.1850 - самая стабильная на текущий момент серверная платформа. Прошла огонь и воду на большом количестве серверов. Там, где под 8.3.10 "ложатся" базы не пойми от чего, эта просто работает как часы. К сожалению, из-за новых обновлений скоро станет не актуальной и придётся снова тестировать другие релизы.
Недавно столкнулись с такой же проблемой на одном из серверов. Если честно, в процедуру решения особо не вникал, но как результат разговора с администратором, одна из служб занимала порт служб сервера + прислали ссылку на Закоулки 1С. Сказал, что помогло как ориентир для решения проблемы, хоть там и пишется только об отсутствии отладки на стороне сервера.
На данный момент проблему удалось решить, задав порты сервера на 1000 больше типовых:
-regport 2541 -port 2540 -range 2560:2591
Несколько часов полет нормальный.
На типовых 1550-1591 были обнаружены "плавающие" подключения чего-то типа hk2sch130020740:https и SERV:microsoft-ds.
Мне не хватает квалификации считать, что это и вызывало проблемы, но тем не менее.
(0) Часто подобный "глюк" встречается на тех компах, на которых никто не удалял старые сервисы 1С (8.2, например, или даже 8.1). Они там в списке сервисов вполне себе присутствуют. Из-за этого изменение портов "помогло" решить "проблему". Заглушите старые сервисы - и будет Вам счастье.
Значит просто какой-то софт юзает эти порты. Есть команда, которая позволяет в консоли это посмотреть, называется netstat. Ключики там у нее есть. Но для ленивых может помочь менеджер ресурсов (или как там называется окошко, которое можно из таскменеджера запустить). Посмотрите, кто висит на этих портах и сделайте выводы.
(18) Помогло отловить компоненту программы Handy Backup, которая садилась на порт 1541 и глушила 1С, отключил "вражескую" службу и сервер 1С взлетел.
Пробую настроить правила фаервола, чтобы подружить их друг с другом.
Такое у меня бывало в случаях когда меняешь имя компьютера, а базы уже были подцеплены к серверу 1С, и записи о них были сделаны в srvinfo в файле *.lst
В таком случае можно почистить srvinfo, но тогда нужно будет заново базы подключать, либо же руками поправить старое имя компьютера на новое в файле - *.lst
Помогло только удалить все полностью из каталога srvinfo.
Развёртывал базу на новом компьютере так что мог это позволить. Содержимое восстановилось без моего участия. После чего стал создавать базы.
Как правильно обнаружили на Мисте и в других местах, проблема возникает из-за того, что порты агента (1540 и 1541) занимают другие приложения. Чаще всего упоминаются системные службы lsass.exe (ключевой компонент Windows, отвечающий за безопасность) и спулер печати. Так было и у меня - именно эти две службы после очередной перезагрузки сервера неожиданно заняли эти два порта. У агента 1С есть параметр -range (умолчание 1560:1591), котороый указывает диапазон портов для динамического использования, если стандартные заняты, однако это не работает.
В свою очередь, системные службы могут занимать порты 1С потому, что эти порты входят в диапазон Windows, разрешенный для динамического использования.
Алгоритм решения:
1. Убедиться, что наши порты кем-то заняты: netstat -ano (процесс по его Id находим в диспетчере задач)
2. Убедиться, что наши порты включены в диапазон, разрешенный для динамического назначения: netsh int ipv4 show dynamicport tcp (умолчание: 1025-64510)
3. Ограничим диапазон (включив и порты из -range по-умолчанию на всякий случай): netsh int ipv4 set dynamicport tcp start=1595 num=63941 4. Перезагрузка сервера