#python #node.js #nginx
Вопрос:
Я хотел бы запускать свои скрипты python удаленно с помощью webbrowser.На моем локальном сервере я установил node.js. Если я запущу эти сценарии с помощью webbrowsrer на своем сервере, все будет в порядке. Если я попытаюсь запустить скрипт на удаленной машине, я не увижу никакого ответа, но на сервере запускается скрипт (запрос без ответа?). Также прокси nginx, установленный на сервере, ничем не помог. Подводя итог, можно сказать, что приложение доступно только с локального хоста, а не с удаленной машины.
На данный момент мое приложение-скрипт доступно только с локального хоста. Я не могу получить доступ к нему с удаленного компьютера.
Node.js index.js файл является:
const express = require('express'); const { spawn } = require('child_process'); const app = express(); const port = 8811; app.get('/script', (req, res) =gt; { let data1; const pythonOne = spawn('python3', ['script.py']); pythonOne.stdout.on('data', function(data){ data1 = data.toString(); }) pythonOne.on('close', (code) =gt; { console.log("code", code) res.send(data1); }) }) app.listen(port, () =gt; console.log('node python script app listening on port ' port));
Мой сервер 192.168.1.161 Использование http://192.168.1.161:8811/script на сервере, script.py начинается нормально. Использование http://192.168.1.161:8811/script на удаленной машине script.py запускается, но только на сервере.
Дополнительно установлен nginx с файлом script.conf:
upstream backend { server localhost:8811; keepalive 32; } server { listen 8500; server_name script.example.com; location / { client_max_body_size 50M; proxy_set_header X-Real-IP $remote_addr; proxy_http_version 1.1; proxy_pass http://backend; } }
Теперь, Используя http://192.168.1.161:8500/script на сервере script.py начинается нормально. Использование http://192.168.1.161:8500/script на удаленной машине script.py запускается, но только на сервере.
Любой ответ будет оценен по достоинству.
Ответ №1:
свяжите узел все на 0.0.0.0
app.listen(port,'0.0.0.0' () =gt; console.log('node python script app listening on port ' port));