Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Серверный JavaScript (node.js, ringo, nitro, sling) Новый топик    Ответить
 Запущенный сервер node.js в браузере ничего не выдает  [new]
Алексей Смирнов
Member

Откуда: г. Челябинск
Сообщений: 697
Добрый день!
Изучаю node.js по примерам.
Есть арендованная VDS. Там создал поддомен testnode.aleksmir.ru.
Сделал простенький скрипт server.js
В консоли запустил node server.js, порт например 8002.
Но в браузере по адресу testnode.aleksmir.ru:8002 ничего не выдает. Просто крутится, после таймаута сбрасывает.
В чем может быть проблема?
7 сен 19, 06:06    [21965833]     Ответить | Цитировать Сообщить модератору
 Re: Запущенный сервер node.js в браузере ничего не выдает  [new]
Алексей Смирнов
Member

Откуда: г. Челябинск
Сообщений: 697
Порты прослушиваются:
[url=]https://forforum.aleksmir.ru/2019/09/2019-09-07_08-52-38.jpg[/url]

На локалхосте скрипт server.js отрабатывает нормально:
[url=]https://forforum.aleksmir.ru/2019/09/2019-09-07_09-01-01.jpg[/url]

Добавлено через 6 минут
Хотя команда netstat -at не показывает 8002 в списке открытых портов:
[url=]https://forforum.aleksmir.ru/2019/09/netstat-2019-07-01.txt[/url]

Все крутится под nginx, но опыта настройки нет, статьи почитал, но конфигурация слишком сложная много уровневая. Как проще можно было бы изменить конфигурационный файл, чтобы слушал то, что надо?

Вот общий конфиг: [url=]https://forforum.aleksmir.ru/2019/09/nginx-conf-2019-09-01.txt[/url]

Конфиг для поддомена: [url=]https://forforum.aleksmir.ru/2019/09...2019-09-01.txt[/url]
8 сен 19, 07:33    [21966221]     Ответить | Цитировать Сообщить модератору
 Re: Запущенный сервер node.js в браузере ничего не выдает  [new]
Алексей Смирнов
Member

Откуда: г. Челябинск
Сообщений: 697
Конфиг для поддомена: https://forforum.aleksmir.ru/2019/09/nginx-testnode-conf-2019-09-01.txt
8 сен 19, 07:34    [21966222]     Ответить | Цитировать Сообщить модератору
 Re: Запущенный сервер node.js в браузере ничего не выдает  [new]
irbis_al
Member

Откуда: Симферополь
Сообщений: 1652
Алексей Смирнов
Добрый день!
Изучаю node.js по примерам.
Есть арендованная VDS. Там создал поддомен testnode.aleksmir.ru.
Сделал простенький скрипт server.js
В консоли запустил node server.js, порт например 8002.
Но в браузере по адресу testnode.aleksmir.ru:8002 ничего не выдает. Просто крутится, после таймаута сбрасывает.
В чем может быть проблема?


Вообще-то общий циел разработки таков...что Вы приложение разработали локально и у вас на вашем компе всё "засветилось" а потом Всё это дело переносится в датацентр.
VDS
Это арендованная виртуалка?(Не очень понимаю разницы от VPS ,-У меня vps Но по-моему это одно и тоже) Какой linux...может там надо брандмауэр и Selinux отключить.

Не пойму зачем Вам nginx
Просто запустите наприямки node server.js.
И не Так testnode.aleksmir.ru:8002
А вначале Ваш Ip:8002
(Если не работает так то на Вашем сервере(зайдя по ssh ) wget localhost:8002 и смотрите ,что оно взяло)
9 сен 19, 11:35    [21966675]     Ответить | Цитировать Сообщить модератору
 Re: Запущенный сервер node.js в браузере ничего не выдает  [new]
Алексей Смирнов
Member

Откуда: г. Челябинск
Сообщений: 697
irbis_al,
на локальном ПК все работает,
тоже не понимаю разницы между VDS и VPS)
виртуалка арендованная в RuCenter
там centOS, панель управления ISP Manager Lite 5, все это было из коробки, автоматически настроено.

-bash-4.2$ cat server.js                                                                                                                                      
// server.js                                                                                                                                                  
// Для начала установим зависимости.                                                                                                                          
const http = require('http');                                                                                                                                 
const routing = require('./routing');                                                                                                                         
                                                                                                                                                              
                                                                                                                                                              
let server = new http.Server(function(req, res) {                                                                                                             
  // API сервера будет принимать только POST-запросы и только JSON, так что записываем                                                                        
  // всю нашу полученную информацию в переменную jsonString                                                                                                   
  var jsonString = '';                                                                                                                                        
  res.setHeader('Content-Type', 'application/json');                                                                                                          
  req.on('data', (data) => { // Пришла информация - записали.                                                                                                 
      jsonString += data;                                                                                                                                     
  });                                                                                                                                                         
                                                                                                                                                              
  req.on('end', () => {// Информации больше нет - передаём её дальше.                                                                                         
      routing.define(req, res, jsonString); // Функцию define мы ещё не создали.                                                                              
  });                                                                                                                                                         
});                                                                                                                                                           
server.listen(8002, 'localhost');                                                                                                                             
                                                                                                                                                              
-bash-4.2$ node server.js 


Запустил. В браузере набрал testnode.aleksmir.ru, страница висит, в окне ничего не появилось.

"И не Так testnode.aleksmir.ru:8002, А вначале Ваш Ip:8002" - не понял, как должна выглядеть адресная строка в браузере в этом случае?

Вот результаты команды wget в 2-х вариантах:

Last login: Wed Sep 11 06:30:06 MSK 2019 on pts/0                                                                                                             
-bash-4.2$ wget localhost:8002                                                                                                                                
--2019-09-11 06:35:15--  http://localhost:8002/                                                                                                               
Resolving localhost (localhost)... 127.0.0.1                                                                                                                  
Connecting to localhost (localhost)|127.0.0.1|:8002... connected.                                                                                             
HTTP request sent, awaiting response... 200 OK                                                                                                                
Length: 17 [application/json]                                                                                                                                 
Saving to: ‘index.html’                                                                                                                                       
                                                                                                                                                              
100%[====================================================================================================================>] 17          --.-K/s   in 0s       
                                                                                                                                                              
2019-09-11 06:35:15 (3.22 MB/s) - ‘index.html’ saved [17/17]  

-bash-4.2$ wget testnode.aleksmir.ru:8002                                                                                                                     
--2019-09-11 06:35:53--  http://testnode.aleksmir.ru:8002/                                                                                                    
Resolving testnode.aleksmir.ru (testnode.aleksmir.ru)... 185.76.146.0                                                                                         
Connecting to testnode.aleksmir.ru (testnode.aleksmir.ru)|185.76.146.0|:8002... failed: Connection refused.
11 сен 19, 06:37    [21968203]     Ответить | Цитировать Сообщить модератору
 Re: Запущенный сервер node.js в браузере ничего не выдает  [new]
Алексей Смирнов
Member

Откуда: г. Челябинск
Сообщений: 697
> "Не пойму зачем Вам nginx"
irbis_al, тоже пока не пойму) где-то на форумах вычитал, что nginx все запросы перехватывает... в конфигах nginx (листинги выше) настроены сервера на порты 443 и 80, хочу попробывать добавть туда третий сервер, чтобы слушал порт 8002, пока что изучаю синтаксис.
11 сен 19, 06:44    [21968205]     Ответить | Цитировать Сообщить модератору
 Re: Запущенный сервер node.js в браузере ничего не выдает  [new]
irbis_al
Member

Откуда: Симферополь
Сообщений: 1652
Алексей Смирнов,
Вот это 185.76.146.0 и есть Ваш IP? (обычно не тепично что на 0 заканчивается)
Вы заходите на сервер по ssh 185.76.146.0 ?
Если заходите то у Вас брэнмауэр блокирует порт .ибо
telnet 185.76.146.0 22 Дает ответ
а telnet 185.76.146.0 8002 не дает.
11 сен 19, 09:38    [21968275]     Ответить | Цитировать Сообщить модератору
 Re: Запущенный сервер node.js в браузере ничего не выдает  [new]
Алексей Смирнов
Member

Откуда: г. Челябинск
Сообщений: 697
irbis_al,

у сервера два внешних IP:
https://forforum.aleksmir.ru/2019/09/2019-09-13_11-58-00.png
13 сен 19, 10:02    [21970117]     Ответить | Цитировать Сообщить модератору
 Re: Запущенный сервер node.js в браузере ничего не выдает  [new]
irbis_al
Member

Откуда: Симферополь
Сообщений: 1652
Алексей Смирнов
irbis_al,

у сервера два внешних IP:
https://forforum.aleksmir.ru/2019/09/2019-09-13_11-58-00.png


Вы по ssh на эти ip заходите? (ssh порт открыт и на втором ip) а вот ваш 8002 закрыт.остановите брэндмауэр для начала
13 сен 19, 10:29    [21970142]     Ответить | Цитировать Сообщить модератору
 Re: Запущенный сервер node.js в браузере ничего не выдает  [new]
irbis_al
Member

Откуда: Симферополь
Сообщений: 1652
irbis_al
Алексей Смирнов
irbis_al,

у сервера два внешних IP:
https://forforum.aleksmir.ru/2019/09/2019-09-13_11-58-00.png


Вы по ssh на эти ip заходите? (ssh порт открыт и на втором ip) а вот ваш 8002 закрыт.остановите брэндмауэр для начала


Ещё в догонку увидел на картинке кнопку настройка NAT(сколько арендую VPS никогда такого не видел (может потому что ISP Manager Lite 5, никода не брал) всё командами ОС делал.
Посмотрите настройки NAT возможно этот порт не перебрасывается.
13 сен 19, 10:34    [21970146]     Ответить | Цитировать Сообщить модератору
 Re: Запущенный сервер node.js в браузере ничего не выдает  [new]
Алексей Смирнов
Member

Откуда: г. Челябинск
Сообщений: 697
irbis_al,

причина оказалась очень банальная))
я сам себя пустил по ложному следу.

В файле server.js было так:
server.listen(8002, 'localhost');


а надо было так:
server.listen(8002);


В любом случае спасибо за помощь!
18 сен 19, 18:49    [21973537]     Ответить | Цитировать Сообщить модератору
Все форумы / Серверный JavaScript (node.js, ringo, nitro, sling) Ответить