Включение отладки на сервере 1С на ОС Linux
При установке сервера 1С на ОС Linux может возникнуть проблема, что там необходимо включить отладку. По понятным причинам делается это совершенно не так, как на ОС Windows.
Данный пример приведен для дистрибутива Debian 9. В комплект дистрибутивов Debian входят хоть и не самые последние версии приложений, но зато подбираются самые стабильные и надежные релизы. Работать будем через консоль через программу putty. В качестве текстового редактора я предпочитаю редактор nano, он достаточно прост.
Для включения отладки необходимо отредактировать файл /etc/init.d/srv1cv83. Открывать необходимо с полными правами, для получения полных прав используется команда:
Обращаю внимание, что при вводе пароля визуально ничего не происходит. Для редактирования файла вводим команду:
Откроется окно редактора. Нажимаем сочетание клавиш Ctrl+W, появляется строка поиска, набираем
Для сохранения изменений нажимаем Ctrl+X, набираем Y и нажимаем Enter. После этого необходимо перезагрузить службу
Если все сделали правильно, то сервер будет перезапущен, и будет включена возможность отладки.
Отладка 1С, развернутой на Linux серере
По умолчанию в скрипте демона написано так:
#SRV1CV8_DEBUG=
если делаю так:
SRV1CV8_DEBUG=1
демон не запускается
Сделал так:
#SRV1CV8_DEBUG=1
взлетел
в документации написано, что надо привести к такому виду:
SRV1CV8_DEBUG=1
так как правильно включить режим отладки?
(4) pumbaE, там, что я написал.
Сервер как «демон» ОС Linux
Если в отладочный режим необходимо перевести сервер «1С:Предприятия» работающего в режиме «демона» в ОС Linux, то необходимо выполнить следующие операции:
1. Остановить сервер «1С:Предприятия».
2. В конфигурационном файле srv1cv83 установить значение параметра SRV1CV8_DEBUG в значение 1.
3. Сохранить конфигурационный файл.
4. Запустить сервер «1С:Предприятия».
(6) pumbaE, странно почему у меня не стартует 🙁
и еще вопрос в режиме отладки можно все время работать серверу или на время отладки включать?
(7) Shaka13, в боевом режиме отключен, на сервере для разработки включен. (на экземпляре тестовог, dev сервера)
p.s: добавьте вручную ключ -debug
(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
Сервер как «демон» ОС Linux
Если в отладочный режим необходимо перевести сервер «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С имеет несколько вариаций, в отличии от винды.
Конфигурационный файл /etc/sysconfig/srv1cv83 (для RPM-системы) используется для задания параметров запуска агента сервера «1С:Предприятия» с помощью скрипта /etc/init.d/srv1cv83. Если установка выполнялась для DEB-системы, то нижеперечисленные параметры следует редактировать в файле /etc/init.d/srv1cv83.
ВНИМАНИЕ! Данный конфигурационный файл используется только в случае запуска сервера «1С:Предприятия» в операционной системе Linux.
С помощью этого конфигурационного файла можно настраивать следующие параметры:
Путь к файлу закрытого ключа Kerberos.
Каталог, в котором будут расположены служебные файлы кластера серверов (в том числе список кластеров и список информационных баз кластера).
Номер главного порта агента кластера. Этот порт используется агентом кластера для обращения к центральному серверу. Порт агента кластера также указывается в качестве сетевого порта рабочего сервера.
Номер сетевого порта кластера, создаваемого по умолчанию при первом запуске ragent.
Диапазоны сетевых портов для динамического выбора. Из них выбираются служебные порты процессов кластера при невозможности их выбора из настроек соответствующего рабочего сервера.
Запуск в режиме отладки:
● 0 – без режима отладки (по умолчанию);
● 1 – в режиме отладки.
Отладка возможна только по протоколу TCP/IP. Отладка по протоколу HTTP в данном режиме запуска не поддерживается.
Уровень безопасности соединений;
● 0 – выключено (по умолчанию);
● 1 – установка соединения;
Период проверки системы отслеживания разрыва соединений, миллисекунды (см. здесь).
Значение по умолчанию: 1 000.
Таймаут проверки системы отслеживания разрыва соединений, миллисекунды (см. здесь).
Значение по умолчанию: 5 000.
# ps aux | grep 1c
usr1cv8 932 0.3 1.0 1035216 41076 ? Ssl окт26 11:04 /opt/1C/v8.3/x86_64/ragent -daemon -debug
usr1cv8 940 1.2 4.5 2113244 183856 ? Sl окт26 38:02 /opt/1C/v8.3/x86_64/rmngr -port 1541 -host app83-6 -range 1560:1591 -debug -tcp -clstid 82bf8002-a8cd-11e6-1c87-000c29b4514e
usr1cv8 25852 7.8 23.4 2594416 952852 ? Sl 18:16 4:01 /opt/1C/v8.3/x86_64/rphost -range 1560:1591 -reghost app83-6 -regport 1541 -pid 2c9c9268-bbe2-11e7-7c90-000c29b4514e -debug -tcp
root 27309 0.0 0.0 12756 2240 pts/0 S+ 19:07 0:00 grep 1c
root@app83-6:
Отладка запускается (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, т.е. вне ОС.
Linux, Internet технологии, программирование и администрирование 1C
пятница, 10 октября 2014 г.
Включение отладки на сервере 1С 8.3.5 LINUX
Правим скрипт запуска/остановки:
Жопиздан! Теперь можно ставить точки останова в серверных модулях.
5 комментариев:
Не у всех есть доступ к ИТС!
нихера не работает
Этот комментарий был удален администратором блога.
Если функция выглядит именно так
#————————————————————
# returns ragent configuration debug flag
#————————————————————
function getDebugStatus() <
local cmdline=`getRagentRealCmdLine`
local debugFlag=»$SRV1CV8_DEBUG»
echo «$cmdline» | grep «\-debug» >/dev/null && debugFlag=»1″
[ ! -z «$debugFlag» ] && echo $debugFlag || echo «0»
>
То в секцию global macros можно поставить SRV1CV8_DEBUG=»1″ и все работает, по крайней мере на релизе 8.3.11.3133
Подключение к серверу отладки через https, в т.ч. с использованием технологии 1С:Линк
1. Введение
Возникают моменты, когда приходится выполнять отладку по http , находясь во внешней сети. При этом доступ к внутренним ресурсам ограниченный.
Например, имеется внутренняя сеть организации, в которой развернуто окружение разработки, есть несколько серверов и запущен сервер отладки. Разработка и отладка внутри сети выполняется постоянно, и возникающие ошибки исправляются оперативно. Помимо этого продуктивный контур этой организации находится во внешней сети и подключение к основному серверу реализовано с помощью защищенного подключения к веб серверу. Кроме открытого порта 443 доступ к внутренней сети отсутствует. Для того, чтобы выполнить отладку сотруднику приходится просить воспроизведения сценария, либо подключаться удаленно для того, чтобы составить сценарий самостоятельно. Возможности отладки напрямую в такой ситуации отсутствуют.
Решением таких проблем является настройка и перенаправление запросов отладки через соединение с веб сервером, либо использование агента 1С:Link (при условии, что используется данная технология). Ниже представлены примеры настройки перенаправления запросов к серверу отладки для веб серверов Nginx и IIS , а также подключение к серверу отладки с помощью агента 1С:Link .
2. 1С:Линк
При установке агента 1C:Link и публикации сервера, на компьютере на котором расположен сам агент открывается дополнительный тунель для порта 1550 .Канал работает только для локального адреса, без возможности указания порта сервера отладки. Тунель открывается и слушает порт в не зависимости от того, запущен сервер отладки или нет.
Если сервер запущен, то можно проверить его доступность с помощью браузера: введите в адресной строке адрес опубликованного сервера и ресурс /debugger/ (https:// .link.1c.ru/debugger/).
В окне браузера отобразится страница с сообщением:
1C:Enterprise 8.3 Debug Server (8.3.17.1091) © 1C-Soft LLC 1996-2019 — it works!
Настройка удаленного подключения к опубликованному серверу отладки
Настройка выполняется в конфигураторе в меню » Сервис » > » Параметры «, вкладка «Отладка»:
- Протокол отладки : Отладка по протоколу HTTP;
- Адрес удаленного сервера отладки : https:// .link.1c.ru/debugger/);
- Имя информационной базы : опционально, если имя информационной базы не совпадает с именем текущей базы (для которой открыт конфигуратор).
Примените изменения и перезапустите конфигуратор.
Для проверки работоспособности сервера, откройте окно подключения предметов отладки (меню » Отладка » > » Подключение «):
Если при перезапуске конфигуратора возникла ошибка , то необходимо проверить доступность сервера и публикации, с того компьютера, на котором запущен конфигуратор.
Для подключения клиента 1С:Предприятия для отладки, необходимо в параметрах запущенного приложения (» Файл » > » Настройки «) разрешить отладку в текущем сеансе и указать сервер отладки :
После этого подключить необходимый клиент для отладки в конфигураторе.
3. Настройка веб сервера
Предполагается, что сервер отладки запущен на внутреннем сервере и работает на порту 1550 . В качестве имени внутреннего сервера, для примера, является internal. server.01 . Адрес веб сервера external. server.02. Имя ресурса debugger может быть произвольным и используется в качестве примера.
3.1. Nginx
Для того, чтобы можно перенаправлять запросы к северу отладки через Nginx , необходимо добавить в настройки описания доступных ресурсов веб сервера (конфигурационные файлы в sites-available ) следующее правило расположения в секции server:
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
После настройки конфигурационного файла убедиться, что команда nginx –t не возвращает информацию об ошибках.
Проверить доступность сервера можно с помощью браузера: введите в адресной строке адрес внешнего сервера и ресурс /debugger/ (https://external.server.02/debugger/). В окне браузера отобразится страница с сообщением:
1C:Enterprise 8.3 Debug Server (8.3.17.1091) © 1C-Soft LLC 1996-2019 — it works!
3.2. Настройка сервера IIS
Для того, чтобы IIS умел перенаправлять запросы, необходимо установить дополнительно компоненты « URL Rewrite » и « Application Request Routing ». Это можно сделать либо с помощью Web Platform Installer , либо вручную по следующим ссылкам:
После установки в консоли управления IIS для публикации сайта появится новый пункт меню:
Необходимо нажать на новый пункт меню и в открывшемся окне нажать кнопку «Добавить правила».
Откроется окно, в котором укажите адрес внутреннего сервера отладки (internal.server01:1550) и нажмите ОК .
Правило будет создано и его нужно будет открыть из списка правил для дополнительной настройки.
В окне настроек правила укажите следующие параметры:
Для завершения настройки осталось добавить правило перенаправления с порта 443 источника и нажать кнопку « Применить »:
После применения правила перезапустите сервер IIS .
Способ проверки работоспособности перенаправления запросов в сервер отладки, такой же как и при настройке Nginx.
4. Ссылки
1С:Предприятие. Документация :: Глава 32. Отладка и тестирование прикладных решений