2017-01-31 10 views
0

У меня есть приложение NodeJs, которое хорошо работает на моей локальной машине.Проблема для развертывания NodeJS на машине виртуального сервера

Теперь я хотел бы развернуть его на виртуальной машине с заданным IP-адресом и заданным http-адресом.

Предположим, для моего случая, что ф и HTTP-адрес сервера, соответственно 134.00.00.00 и http://server-virtualmachine.is.fr

я смог подключиться через SSH к этому серверу и отправить мое приложение Node JS для /вар/WWW/

основной файл сервера является app.js поэтому я выполнил эту следующую команду для запуска сервера.

node app.js 

Выход:

App listening on port 3030 with adress 134.00.00.00 

У меня нет ошибки. Однако, проверяя непосредственно в моем браузере в http://134.00.00.00:3030 или http://server-virtualmachine.is.fr:3030, то связь не установлена, и мой браузер, наконец, в конечном итоге, показывая это сообщение:

134.00.00.00 took too many times to answer 

Если я собираюсь адрес без написания порта (http://134.00.00.00), у меня есть следующее сообщение:

Not Found 
The requested URL/was not found on this server. 

Тогда для того, чтобы увидеть, где проблема, я пытался просто создать привет мир пример файла.

var http = require('http'); 
http.createServer(function (req, res) { 
    res.writeHead(200, {'Content-Type': 'text/plain'}); 
    res.end('Hello World\n'); 
}).listen(3030, '134.00.00.00'); 
console.log('Server running at 134.00.00.00:3030'); 

Такая же проблема возникает. Тем не менее, я открыл новую вкладку и открыть новое соединение SSH и выполнив следующую команду:

curl http://134.00.00.00:3030 

К удивлению, у меня есть на моем терминале "Hello world"

Я на самом деле не в сервере, и я попытался понять сам, но теперь я не понимаю эту проблему и как ее решить.

Я хочу, чтобы приложение NodeJs работало на виртуальной машине, а не на моей локальной машине.

Любые идеи?

Благодарим за помощь.

+0

Порт 3030 открыт? –

+0

Это должно быть потому, что на этом виртуальном компьютере с этим портом работал старый проект Node Js - Angular JS. Как я могу проверить, открыто ли это?В противном случае есть ли способ увидеть, какой порт открыт? Спасибо – lilouch

+1

Вы можете проверить его в настройках брандмауэра. Или используйте команду 'nmap' –

ответ

0

Спасибо Ebrahim Pasbani, я видел, что мой порт 3030 не был открыт. Для того, чтобы проверить, что я использовал следующую командную строку:

nmap ip 

и более конкретно nmap -p3030 ip

Я открыл его, и теперь он работает.