LINUX.ORG.RU

Помогите запустить сервис, написанный на Rust

 , ,


0

2

Добрый день!

Помогите, пожалуйста, разобраться.

В нашей организации был написан сервис на Rust-е, который работает на сервере под Linux. Этот сервис несколько лет работал нормально. Недавно при перезапуске сервера этот сервис не запустился. Мы его вроде бы запустили, в списке процессов он появился, но он все равно не функционирует.

Суть сервиса: по http-запросу этот сервис предоставляет дополнительные возможности для работы с Честным знаком. Название сервиса: arm-marking (АРМ маркировки).

Вот что выдается в логах Nginx-серврера:

error.log

2024/01/09 13:13:24 [error] 2281#0: *522 connect() failed (111: Connection refused) while connecting to upstream, client: 192.168.33.10, server: marking-arm.corp.pskovmol.ru, request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:9090/", host: "marking-arm.corp.pskovmol.ru"
2024/01/09 13:13:25 [error] 2281#0: *522 connect() failed (111: Connection refused) while connecting to upstream, client: 192.168.33.10, server: marking-arm.corp.pskovmol.ru, request: "GET /favicon.ico HTTP/1.1", upstream: "http://127.0.0.1:9090/favicon.ico", host: "marking-arm.corp.pskovmol.ru", referrer: "http://marking-arm.corp.pskovmol.ru/"
2024/01/09 13:15:23 [error] 2283#0: *551 connect() failed (111: Connection refused) while connecting to upstream, client: 192.168.33.10, server: marking-arm.corp.pskovmol.ru, request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:9090/", host: "marking-arm.corp.pskovmol.ru"
2024/01/09 13:15:27 [error] 2283#0: *551 connect() failed (111: Connection refused) while connecting to upstream, client: 192.168.33.10, server: marking-arm.corp.pskovmol.ru, request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:9090/", host: "marking-arm.corp.pskovmol.ru"
2024/01/09 14:42:32 [error] 2286#0: *4856 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 192.168.33.10, server: marking-arm.corp.pskovmol.ru, request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:9090/", host: "marking-arm.corp.pskovmol.ru"
2024/01/09 14:42:32 [error] 2285#0: *4726 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 192.168.33.10, server: marking-arm.corp.pskovmol.ru, request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:9090/", host: "marking-arm.corp.pskovmol.ru"
2024/01/09 14:42:32 [error] 2286#0: *4856 connect() failed (111: Connection refused) while connecting to upstream, client: 192.168.33.10, server: marking-arm.corp.pskovmol.ru, request: "GET /favicon.ico HTTP/1.1", upstream: "http://127.0.0.1:9090/favicon.ico", host: "marking-arm.corp.pskovmol.ru", referrer: "http://marking-arm.corp.pskovmol.ru/"
2024/01/09 14:42:39 [alert] 2286#0: *4924 open socket #21 left in connection 5
2024/01/09 14:42:39 [alert] 2286#0: aborting
2024/01/09 15:29:06 [alert] 2295#0: *2358 open socket #21 left in connection 4
2024/01/09 15:29:06 [alert] 2295#0: aborting
2024/01/09 15:29:06 [alert] 2293#0: *2357 open socket #25 left in connection 4
2024/01/09 15:29:06 [alert] 2293#0: aborting

marking-arm.host.access.log

192.168.33.10 - - [09/Jan/2024:14:58:48 +0300] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4137.1 SputnikBrowser/5.6.6290.0 (GOST) Safari/537.36" "-"
192.168.33.10 - - [09/Jan/2024:14:58:48 +0300] "GET /favicon.png HTTP/1.1" 200 360 "http://marking-arm.corp.pskovmol.ru/" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4137.1 SputnikBrowser/5.6.6290.0 (GOST) Safari/537.36" "-"
192.168.33.10 - - [09/Jan/2024:14:58:49 +0300] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4137.1 SputnikBrowser/5.6.6290.0 (GOST) Safari/537.36" "-"
192.168.33.10 - - [09/Jan/2024:14:58:49 +0300] "GET /favicon.png HTTP/1.1" 200 360 "http://marking-arm.corp.pskovmol.ru/" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4137.1 SputnikBrowser/5.6.6290.0 (GOST) Safari/537.36" "-"
192.168.33.10 - - [09/Jan/2024:15:00:48 +0300] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4137.1 SputnikBrowser/5.6.6290.0 (GOST) Safari/537.36" "-"
192.168.33.10 - - [09/Jan/2024:15:00:48 +0300] "GET /favicon.png HTTP/1.1" 200 360 "http://marking-arm.corp.pskovmol.ru/" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4137.1 SputnikBrowser/5.6.6290.0 (GOST) Safari/537.36" "-"
192.168.33.10 - - [09/Jan/2024:15:00:52 +0300] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4137.1 SputnikBrowser/5.6.6290.0 (GOST) Safari/537.36" "-"
192.168.33.10 - - [09/Jan/2024:15:00:53 +0300] "GET /favicon.png HTTP/1.1" 200 360 "http://marking-arm.corp.pskovmol.ru/" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4137.1 SputnikBrowser/5.6.6290.0 (GOST) Safari/537.36" "-"
192.168.33.10 - - [09/Jan/2024:15:23:58 +0300] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/115.0" "-"
192.168.33.10 - - [09/Jan/2024:15:23:59 +0300] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/115.0" "-"
192.168.33.10 - - [09/Jan/2024:15:29:40 +0300] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/115.0" "-"
192.168.33.10 - - [09/Jan/2024:15:29:50 +0300] "GET / HTTP/1.1" 200 9111 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" "-"
192.168.33.10 - - [09/Jan/2024:15:29:57 +0300] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" "-"
192.168.33.10 - - [09/Jan/2024:15:33:32 +0300] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/115.0" "-"
192.168.33.10 - - [09/Jan/2024:15:34:29 +0300] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" "-"
192.168.33.10 - - [09/Jan/2024:15:35:04 +0300] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/115.0" "-"

Как найти почему не работает сервис? Подскажите направление, в котором надо искать.

Исходники сервиса есть. Но они не менялись.

Раньше при работающем сервисе мы заходили в браузере на страницу «http://marking-arm.corp.pskovmol.ru/», на странице отображалась определенная информация, и мы выполняли нужные действия.

Сейчас при заходе на эту страницу она просто пустая. Из-за чего это может быть?



Последнее исправление: zelenprog (всего исправлений: 8)

Для начала проверь, слушает ли твой сервис порт, к которому nginx пытается стучаться. В твоём случае 9090.

hateyoufeel ★★★★★
()
Ответ на: комментарий от zelenprog

Как узнать какие процессы слушают 9090 порт?

Если всё так плохо, я бы на твоём месте нашёл линуксоеда, которому ты доверяешь, и дал ему доступ к системе. Иначе можешь встрять. Ну, если в рамках этого треда не разберёшься, по крайней мере.

hateyoufeel ★★★★★
()
Ответ на: комментарий от hateyoufeel

В том то и дело, что линуксоедов нету. Те программисты, которые писали сервис теперь не работают. Я то тоже программист, но писал только на С++, C# десктопные приложения, никогда не писал под веб-технологии. Вот мне и поручили разбираться.

zelenprog
() автор топика
Ответ на: комментарий от zelenprog

Те программисты, которые писали сервис теперь не работают.

Варианта нанять их разобраться на пару часов нет? Если никто специально ничего не ломал, то стопудов проблема на 10 минут при наличии доступа.

Накрайняк, попробуй в местный раздел Job написать. Стопудов кто-нибудь подрядится.

hateyoufeel ★★★★★
()
Ответ на: комментарий от zelenprog

Попробуй ss -t | grep 9090.

В списке нету ни одного процесса.

Окей, запусти netstat -tunap | grep <имя твоей проги> и посмотри что она слушает.

hateyoufeel ★★★★★
()
Ответ на: комментарий от hateyoufeel

Варианта нанять их разобраться на пару часов нет?

Они уехали из города, и перестали отвечать на телефон и на вопросы по электронке.

zelenprog
() автор топика

у вас не работает сама программа, которая раньше висела на 9090 порту и принимала запросы от nginx

для начала надо её найти и учитывая, что вы тут новичок, будет непросто.

Вы сервер ребутали? Возможно если ребутнуть, то всё починится само собой.

Дальше надо поискать какие-нибудь файлы в домашнем каталоге. Вот вы как логинились, так и сделайте: ls и посмотрите, какие файлы лежат в руте. Врядли у вас там кубернетес с контейнерами и режистри.

max_lapshin ★★★★★
()
Ответ на: комментарий от max_lapshin

Вы сервер ребутали? Возможно если ребутнуть, то всё починится само собой.

Или сломается ещё дальше.

firkax ★★★★★
()
Ответ на: комментарий от hateyoufeel

запусти netstat -tunap | grep <имя твоей проги>

В этой команде в колонку «PID/Program name» не влазит полное имя программы, поэтому она не находится там через grep.

Дело в том, что на этом сервере запускается еще несколько сервисов. Все они запускаются командой «.\target\release<service_name>». И в колонке «PID/Program name» видно только начало этой строки «target\release».

:(

zelenprog
() автор топика
Ответ на: комментарий от zelenprog

Найди по части названия или по pid если ты его знаешь и он всего один. Или вручную список посмотри.

firkax ★★★★★
()
Ответ на: комментарий от max_lapshin

Вы сервер ребутали? Возможно если ребутнуть, то всё починится само собой.

Да, перезагружали. Раньше это помогало. Уже неделю - не помогает.

у вас не работает сама программа, которая раньше висела на 9090 порту и принимала запросы от nginx … для начала надо её найти

Программу я нашел, она там лежит сразу с исходниками. Во вложенной папке .\target\release\ лежит откомпилированный бинарник. Этот бинарник запускается скриптом либо при загрузке сервера, либо вручную.

zelenprog
() автор топика
Ответ на: комментарий от hateyoufeel

Попробуй ss -t | grep 9090.

А надо было ss -ln | grep 9090 ну уже не важно в netstat нашлось.

firkax ★★★★★
()

При просмотре в браузере кода страницы в консоли выдаются вот такие ошибки:

Ресурс с «https://unpkg.com/vue@next» был заблокирован из-за несоответствия MIME-типа («text/plain») (X-Content-Type-Options: nosniff).

Uncaught ReferenceError: Vue is not defined http://marking-arm.corp.pskovmol.ru/js/app.js:76

Вот строка 76 из app.js: Vue.createApp(App).mount(‘#app’)

zelenprog
() автор топика
Ответ на: комментарий от red75prim

Loopback интерфейс в порядке? ifconfig lo что показывает?

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10 loop txqueuelen 1000 (Local Loopback) RX packets 160258 bytes 42771996 (40.7 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 160258 bytes 42771996 (40.7 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

zelenprog
() автор топика
Ответ на: комментарий от zelenprog

Вот мне и поручили разбираться.

Это точно в Jobs. Тебе за это деньги платят. Если сам не можешь, плати эти деньги, тем кто может.

rupert ★★★★★
()

При чем тут Rust в тегах? Если бы сервис был написан на С++ или C#, которые ты знаешь, ты бы решил проблему, так, что ли?)

Virtuos86 ★★★★★
()
Ответ на: комментарий от zelenprog

Найди где в коде этот урл (https://unpkg.com/vue@next) и замени его - на какой-то из этих

https://unpkg.com/vue@latest

https://unpkg.com/vue@3.4.7

https://unpkg.com/vue@(другая_версия)

Я не знаю что такое vue, что у него с обратной совместимостью итд. Если подойдёт брать последнюю версию вслепую то первый урл, если надо зафиксировать ту что последняя сейчас (и он тайком её не обновил потом и опять всё не сломал) то второй, а если и 3.4.7 не подходит то надо выяснить какая нужна и вписать.

firkax ★★★★★
()

Вот и результат. Раст и жабаскрипт.

anonymous
()

Попингуй) ну или курлом попробуй, може и напечатает еррно какое нибудь.

anonymous
()
Ответ на: комментарий от mergood

Это явно сложнее чем заменить несколько букв, не стоит напрягать автора для которого это всё непрофильное. А если скаивать то уже не только vue а всё что там подгружается - это чуть дольше.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)
Ответ на: комментарий от zelenprog

Сдаётся мне тут не проблема в том, на чём написано. Скорее всего проблема в окружении. И тут нужен нее программист, а админ.

WatchCat ★★★★★
()
Ответ на: комментарий от firkax

Спасибо! Да, дело было именно в vue@next.

Два html-файла содержали вот такой код:

<!-- VUE JS -->
<script src="https://unpkg.com/vue@next"></script>

Все заработало после замены на «https://unpkg.com/vue@^3.4.0»

zelenprog
() автор топика
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.