Если в отладочный режим необходимо перевести сервер «1С:Предприятия» работающего в режиме «демона» в ОС Linux, то необходимо выполнить следующие операции:
1. Остановить сервер «1С:Предприятия».
/etc/init.d/srv1cv83 stop
2. В конфигурационном файле srv1cv83 установить значение параметра SRV1CV8_DEBUG в значение 1.
(2) pumbaE, сейчас столкнулся с такой же проблемой. Нашел решение тут: http://its.1c.ru/db/v837doc#bookmark:adm:TI000000417 Проблема заключалась в том, что для RPM-системы нужно править не скрипт (/etc/init.d/srv1cv83), а конфигурационный файл, который находится тут /etc/sysconfig/srv1cv83
Во многих источниках пишут про конфигурационный файл, а где его искать не указывают. Мне, как новичку в linux, пришлось потратить время.
P.S. Проверить с какими параметрами запущен сервер 1с в centos можно так: ps aux | grep 1c
Скорее всего у Вас проблема в том, что Вы не остановили сервер 1с перед редактированием файла и получилось так что система пытается найти процесс 1с с параметром debug и отключить его, а не может потому что его нет....
Если в отладочный режим необходимо перевести сервер «1С:Предприятия» работающего в режиме «демона» в ОС Linux, то необходимо выполнить следующие операции:
1. Остановить сервер «1С:Предприятия».
Копировать в буфер обмена
/etc/init.d/srv1cv83 stop
2. В конфигурационном файле srv1cv83 установить значение параметра SRV1CV8_DEBUG в значение 1.
Копировать в буфер обмена
SRV1CV8_DEBUG=1
3. Сохранить конфигурационный файл.
4. Запустить сервер «1С:Предприятия».
Копировать в буфер обмена
/etc/init.d/srv1cv83 start
Как писали в (10) линукс установка 1С имеет несколько вариаций, в отличии от винды.
3.23. srv1cv83
Конфигурационный файл /etc/sysconfig/srv1cv83 (для RPM-системы) используется для задания параметров запуска агента сервера «1С:Предприятия» с помощью скрипта /etc/init.d/srv1cv83. Если установка выполнялась для DEB-системы, то нижеперечисленные параметры следует редактировать в файле /etc/init.d/srv1cv83.
ВНИМАНИЕ! Данный конфигурационный файл используется только в случае запуска сервера «1С:Предприятия» в операционной системе Linux.
С помощью этого конфигурационного файла можно настраивать следующие параметры:
SRV1CV8_KEYTAB
Путь к файлу закрытого ключа Kerberos.
SRV1CV8_DATA
Каталог, в котором будут расположены служебные файлы кластера серверов (в том числе список кластеров и список информационных баз кластера).
SRV1CV8_PORT
Номер главного порта агента кластера. Этот порт используется агентом кластера для обращения к центральному серверу. Порт агента кластера также указывается в качестве сетевого порта рабочего сервера.
SRV1CV8_REGPORT
Номер сетевого порта кластера, создаваемого по умолчанию при первом запуске ragent.
SRV1CV8_RANGE
Диапазоны сетевых портов для динамического выбора. Из них выбираются служебные порты процессов кластера при невозможности их выбора из настроек соответствующего рабочего сервера.
SRV1CV8_DEBUG
Запуск в режиме отладки:
● 0 – без режима отладки (по умолчанию);
● 1 – в режиме отладки.
Отладка возможна только по протоколу TCP/IP. Отладка по протоколу HTTP в данном режиме запуска не поддерживается.
SRV1CV8_SECLEV
Уровень безопасности соединений;
● 0 – выключено (по умолчанию);
● 1 – установка соединения;
● 2 – постоянно.
SRV1CV8_PINGPERIOD
Период проверки системы отслеживания разрыва соединений, миллисекунды (см. здесь).
Значение по умолчанию: 1 000.
SRV1CV8_PINGTIMEOUT
Таймаут проверки системы отслеживания разрыва соединений, миллисекунды (см. здесь).
Это говорит, что линкукс работает в режиме "демона" и отладка на сервере включена!
Затем он мне сказал, что на других машинах отладка работала.
Я уточнил про блокировку портов. И сам проверил браундмауер.
Проблем с блокировкой не было!
Затем я уточнил в одной ли подсети работает сервер и ПК для отладки.
Админ сказал, что в разных!
После переноса ПК в подсеть сервера отладка заработала!
Глубоко не копал, но похоже для отладки нужна одна подсеть или как сделать, чтобы работало в разных?
(13)вставлю свои 5 копеек, попробуйте в конфигураторе в подключение отладки поставить галку "искать предметы отладки на другом компьютере" и ввести ип адрес вашего сервера
Вопрос сюда же такой. Отладка работает, все в порядке, но как быть с окном "ВЫ можете подождать отклика приложения...", которое появляется в процессе отладки из окна 1С:Предприятия, находящегося в останове? оно блокирует работу конфигуратора, и приходится каждый раз жать "Подождать" и потом можно успеть выполнить пару действий в конфигураторе, затем снова выходи это окно.
Столкнулся с такой же проблемой. Сервер на линуксе. Не запускалась отладка, хотя в "отладка-подключение" всё было подключено. Сервер и отладочная машина были в одной подсети. Проблема оказалась в брандемауре виндовс отладочной машины.
Отладка запускается (Linux Mint, 1С:Предприятие 8.3.14.1779), но на первой же точке останова блокируются события мышки. Даже окно конфигуратора не передвинуть !
Но клавиатурные события отрабатываются, кнопки нажимаются.
Если нажать F10 (перейти к следующей инструкции), конфигуратор "размораживается", окно можно двигать.
А если, например, Shift-F9 - вызывается окно вычисления выражений, но текстового курсора нет, поскольку "мышка сдохла".
Пока разработку в среде 1С по Linux не могу вести из-за двух вещей, которые "бесят" - проблема с отладкой и отсутствие аналога консоли администрирования. Управлять списком баз на сервере 1С под Linux в командной
строке через ras/rac то еще удовольствие. Дополнительная машина под Windows для администрирования баз - это "костыль". Пока такой вариант использовал:
Сервер 1С + PostgreSQL - под Linux, там же VitualBox
В среде Virtual Box + Windows 10 установлен Сервер 1С, клиент 1С и консоль администрирования.
USB ключик у меня один (на нем лицензия минисервера + клиента 1С).
Новые базы создаю под Linux из 1С. Потом эти же базы в консоли для Win10 подключаю к серверу 1С, который под Win 10. В результате одна и та же база может быть подключена к серверу 1С Linux и под Windows.
Базу можно из консоли удалить. Останутся только "хвосты" на сервере 1С под Linux. Вот их и придется
потом отрубать ручками.
Костыли, такие костыли ... если есть у кого рецепты получше, вразумите пожалуйста.
А в остальном, под Linux гораздо приятнее. Компьютер без толку "не молотит". Это
отчетливо слышно. Под Linux вентилятор на системном блоке не слышно, под Win 10 гудит.
А настройка скорости работы вентилятора от температуры датчика - в UEFI, т.е. вне ОС.
24.
Sergey_Borisovi4
9508.10.19 11:33 Сейчас в теме
Действительно, на некоторых версиях 8.3.15 не работает отладка. На 8.3.15.1534 и выше работает.
Так же, у меня не заработала отладка и не добавился параметр -debug пока я не перезагрузил целиком сервер, а не только демона. На двух разных дистрибутивах (Ubuntu и CentOS) наблюдал такое.
Плюс, если сервер находится в другой сети, не работает отладка по tcp, которая включается по умолчанию, только по http. Чтобы включить отладку по http, необходимо отредактировать конфигурационный файл /etc/init.d/srv1cv83. Находим функцию buildCommmandLine, после -debug добавляем параметр -http, чтобы получилось так (см. предпоследнюю строку):
Проверяем: ps aux | grep 1C
Видим, к параметру -debug добавился параметр -http. Так же добавился новый процесс /opt/1C/v8.3/x86_64/dbgs --port=1550 для отладки по http.
В самом конфигураторе поменяем протокол отладки (Сервис-Параметры-Отладка) на HTTP. Если по имени сервера конфигуратор не сможет подключиться к серверу отладки, то необходимо указать его в виде IP адреса и порта в поле "Адрес удаленного сервера отладки".
(24) Спасибо огромное, дружище! Просто выручил, я уже голову сломал, почему отладка на серверных процедурах вдруг перестала работать. В офисе все работало, а как ушел на удаленку, только в клиентские процедуры заходит. Подключался к офису по VPN и получалось что клиент и сервер в разных подсетях были. Сделал по твоей инструкции, только в настройках отладки выбрал "Использовать сервер отладки кластера" и всё заработало!
если сервер находится в другой сети, не работает отладка по tcp, которая включается по умолчанию, только по http. Чтобы включить отладку по http, необходимо отредактировать конфигурационный файл /etc/init.d/srv1cv83. Находим функцию buildCommmandLine, после -debug добавляем параметр -http
спасибо, долго искал решение отладки линукс сервера из другой подсети
Если Проблема с Отладчиком сервер 1С 8.3.22.1709 Linux http / tcp
решаем тюнингом:
/opt/1cv8/x86_64/8.3.22.1709/srv1cv8-8.3.22.1709@.service
переписать в даймоне, добавить:
-http -tcp
прописываем там
Environment=SRV1CV8_DEBUG=-http -tcp
-http
-tcp
пересохранять
systemctl daemon-reloiad обязательно
Тогда будет работать отладка.
и Включаем от отладку в конфиураторе.
Сергей, сделали в точности как вы написали на той же версии платформы на ubuntu,
но не заводится. При запуске сервиса ругается на неверный параметр, перебирали и с пробелами и без и разные варианты ключей дебага от прошлых версий платформы, но не идет.
Может есть еще какая-то особенность?
Если не трудно можете приложить полное содержимое вашего файла?
(32)В нашем случае еще синтаксис пришлось поправить в файле сервиса — добавить скобки, чтобы было взято значение из переменной. Было
ExecStart=/opt/1cv8/x86_64/8.3.21.1644/ragent \
-d ${SRV1CV8_DATA} \
-port ${SRV1CV8_PORT} \
-regport ${SRV1CV8_REGPORT} \
-range ${SRV1CV8_RANGE} \
-seclev ${SRV1CV8_SECLEV} \
-pingPeriod ${SRV1CV8_PINGPERIOD} \
-pingTimeout ${SRV1CV8_PINGTIMEOUT} \
$SRV1CV8_DEBUG
(35) Только что сам сделал. Смотри, идёшь в /opt/1cv8/x86_64/8.3.22.1709/srv1cv8-8.3.22.1709@.service - у тебя соответственно своя версия платформы будет. Моя 8.3.22.1709, вместо неё свою везде подставь в пути. После чего в этом файле находишь:
Environment=SRV1CV8_DEBUG= тут может стоять -debug или пусто может быть.
И приводишь к виду Environment=SRV1CV8_DEBUG=-http
Сохраняешь, вводишь в командной строке:
systemctl status srv1cv8-8.3.22.1709@default.service
Должен увидеть что после -debug теперь ещё добавилось -http
Всё. Отладка на сервере включена. Осталось настроить её в конфигураторе и в клиенте. Таких инструкций уже в интернете с картинками полно.