Приложение Node запускается, но не прослушивает порт - PullRequest
0 голосов
/ 11 мая 2018

Я пытаюсь устранить неполадки приложения Node + Mongo, имеющегося у нас в экземпляре AWS EC2.

Это началось с сбоя.Краткое расследование показало, что процесс mongod потерпел крах.Пытаясь запустить его, мы обнаружили, что ошибки были почти идентичны этой проблеме.

Успешно увеличив дисковое пространство для экземпляра, мы смогли запустить mongod.

Однако, когда мы запускаем приложение с sudo pm2 start npm -- start, оно запускается, но, похоже, не прослушивает порт 80.

Вот вывод команды netstat -tulpn:

[ec2-user@ip-xxx-xx-xx-xxx ~]$ netstat -tulpn
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
tcp        0      0 0.0.0.0:3000                0.0.0.0:*                   LISTEN      -                   
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      -                   
tcp        0      0 0.0.0.0:40863               0.0.0.0:*                   LISTEN      -                   
tcp        0      0 0.0.0.0:27017               0.0.0.0:*                   LISTEN      -                   
tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      -                   
tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN      -                   
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      -                   
tcp        0      0 :::59195                    :::*                        LISTEN      -                   
tcp        0      0 :::111                      :::*                        LISTEN      -                   
tcp        0      0 :::22                       :::*                        LISTEN      -        

Как видите, MongoDB, похоже, прослушивает порт 27017. Однако мы не можем подключиться к нему с помощью Robomongo с наших локальных компьютеров.

Более того, как я уже упоминал выше, приложение Node, похоже, не слушает.То есть мы пытались запустить его, используя npm start, node app.js и пару других, но безрезультатно.

Мой вопрос: что может происходить и что я могу сделать, чтобы устранить его?Единственная идея, которая у меня есть на данный момент, это попытаться получить доступ к MongoDB на сервере из консоли и посмотреть, работает ли он.Я попробую это в ближайшее время.Тем не менее, я понимаю, что независимо от того, работает ли БД, само приложение должно показывать некоторые признаки жизни.

Я могу предоставить более подробную информацию, если необходимо, особенно от app.js.

Редактировать:

Как указано в комментарии, я запустил ps -ef | grep -i node со следующим выводом:

[ec2-user@ip-xxx-xx-xx-xxx ~]$ ps -ef | grep -i node
ec2-user  3179  3108  0 03:50 ?        00:00:11 node /home/ec2-user/the_app_in_question/app.js                  
root      5187  5181  0 04:07 ?        00:00:01 node ./bin/www
ec2-user 25925 25903  0 13:18 pts/1    00:00:00 grep --color=auto -i node

Команда 'netstat', но с sudo:

[ec2-user@ip-xxx-xx-xx-xxx ~]$ sudo netstat -tulpn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
tcp        0      0 0.0.0.0:3000                0.0.0.0:*                   LISTEN      5187/node           
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      2713/sendmail       
tcp        0      0 0.0.0.0:40863               0.0.0.0:*                   LISTEN      2246/rpc.statd      
tcp        0      0 0.0.0.0:27017               0.0.0.0:*                   LISTEN      2754/mongod         
tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      2664/mysqld         
tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN      3073/rpcbind        
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      3031/sshd           
tcp        0      0 :::59195                    :::*                        LISTEN      2246/rpc.statd      
tcp        0      0 :::111                      :::*                        LISTEN      3073/rpcbind        
tcp        0      0 :::22                       :::*                        LISTEN      3031/sshd   

Входящие правила для этого экземпляра:

80  tcp 0.0.0.0/0   ✔
5432    tcp 0.0.0.0/0   ✔
8000    tcp 0.0.0.0/0   ✔
22  tcp 0.0.0.0/0   ✔
9775    tcp 0.0.0.0/0   ✔
20-21   tcp 0.0.0.0/0   ✔
54763   tcp 0.0.0.0/0   ✔
3000    tcp 0.0.0.0/0   ✔
443 tcp 0.0.0.0/0   ✔
...