node.js установить на Amazon EC2 - PullRequest
2 голосов
/ 08 июля 2010

Итак, я устанавливаю node.js на amazon ec2 с Ubuntu 8.04, и я запустил node sayhello.js, который выглядит так:

 var sys = require('sys'),
    http = require('http');
 http.createServer(function (req, res) {
   setTimeout(function () {
     res.writeHead(200, {'Content-Type': 'text/html'});
     res.write('<br/><strong>&nbsp;&nbsp;&nbsp;&nbsp;Hello World!</strong>');
     res.end();
     sys.puts(sys.inspect(req, false));
   }, 2000);
 }).listen(8000);
   sys.puts('Server running at http://ec2-174-12-132-193.compute-1.amazonaws.com:8000/');

Я вижу

Сервер, работающий на http://ec2 -174-12-132-193.compute-1.amazonaws.com: 8000 /

отображается в консоли правильно.

В учебнике написано: в браузере перейдите на: 8000, и вы должны увидеть Hello World!

Я иду на http://ec2 -174-12-132-193.compute-1.amazonaws.com: 8000 / (не реальный адрес), но не загружается (просто подключается ...).В примере используется localhost, общественное достояние некорректно или что-то в этом роде?

Спасибо.

Ответы [ 3 ]

6 голосов
/ 01 апреля 2011

Вам необходимо открыть порт 8000 в вашей группе безопасности.

Если у вас установлены инструменты командной строки EC2, попробуйте выполнить:

$ ec2-authorize default -p 8000

Это предполагает, что вы 'используется группа безопасности по умолчанию .Если нет, замените default на имя вашей группы безопасности.

Если вы просто используете веб-интерфейс, выполните следующие действия:

  1. Войдите в системуКонсоль AWS
  2. Выберите Amazon EC2 в верхней панели
  3. Нажмите Группы безопасности в меню слева
  4. Нажмите на группу безопасности, которую выназначенный вашему экземпляру EC2 (возможно, просто по умолчанию)
  5. В нижней части окна нажмите вкладку Inbound
  6. Установите Диапазон портов: в8000 и оставьте два других входа, как они
  7. Нажмите Добавить правило
4 голосов
/ 21 декабря 2010

В группе безопасности, связанной с экземпляром EC2, убедитесь, что у вас открыт порт 8000 для вашего IP или общего доступа.

0 голосов
/ 23 июля 2013

Проверьте следующее:

  1. То, что вы разрешаете доступ со всех ips к порту 8000 в группе безопасности
  2. То, что вы изменили ПРАВИЛЬНУЮ группу безопасности (например, quicklaunch-1) а не, скажем, quicklaunch-2.Я отредактировал неправильное число раз больше, чем хочу признать.
  3. То, что вы открыли порт 8000 на брандмауэре Linux
  4. То, что ваш сервер действительно работает (вы должны увидеть «Прослушивание попорт 8000 "в командной строке).

Вот учебник о том, как настроить веб-сервер Node.js на Amazon EC2: http://www.lauradhamilton.com/how-to-set-up-a-nodejs-web-server-on-amazon-ec2

Это немного сложнее, чем то, что вы делаете (потому чтоон использует переадресацию ip от 80 до 8080), но часть, касающаяся открытия брандмауэра Linux, такая же.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...