2013-09-13 5 views
-1

У меня есть экземпляр EC2 с Ubuntu 12.04. У меня установлены узлы и монго. Этот экземпляр также имеет выделенный ему IP-адрес.Запуск узла на EC2

Я хочу, чтобы мое приложение (приложение nodejs) запускалось из каталога (допустим,/var/www/node/my_app), подключенного к локальному db mongo (я установил db вручную, а его нет с рынка Amazon, однако это предназначено для разработки/тестирования, поэтому на данный момент производительность не является проблемой). Тогда я хотел бы иметь домен, связанный с ip-адресом (это было сделано через моего провайдера домена и готово), в свою очередь, связанное с моим приложением (работающее из/var/www/node/my_app), поэтому, когда я перехожу на www .mydomain.com Я увижу, как мое приложение работает в моем веб-браузере.

Я также хотел бы иметь возможность использовать другое приложение из/var/www/node/my_app2, к которому можно получить доступ через другой домен или поддомен (например, app2.mydomain.com).

Я могу сделать все это очень легко, используя PHP/MySQL/Webmin/Apache. Все, что мне нужно сделать, это иметь мое приложение в определенной папке и иметь webmin для управления/создания виртуальных хостов, указывающих на конкретный domian/subdomain.

Мой вопрос: может кто-нибудь объяснить мне, шаг за шагом (или указать мне учебник/сайт/документацию), как я могу иметь одну и ту же настройку с помощью узла? Я понимаю, что это, вероятно, означает установку других программных продуктов (например, nginx)?

Справочная информация. Я прочитал много руководств о том, как начать с узла, на котором они объясняют, как установить узел на вашей локальной машине, создать сервер для прослушивания порта (что-то вроде 8080), и если я нахожусь на http://localhost:8080 на моем на локальном компьютере он работает (да, я пробовал, и он работает), однако я не могу воспроизвести то же самое на своем EC2. Не говоря уже о том, что я бы предпочел не использовать www.mydomain.com:8080 (например) и предпочел бы иметь возможность запускать более одного приложения из одного домена (используя субдомены).

Может ли кто-нибудь помочь?

Большое спасибо

+0

Вопрос слишком широк. Вы просите кого-то сделать поход для вас, в то время как вы можете сделать это сами. Не ожидайте найти ответы сразу, но будьте терпеливы и продолжайте работать, чтобы понять, как все работает, связано и как двигаться вперед. – moka

+0

Запустите новый экземпляр, запустите 'yum update -y', затем просто следуйте официальным руководствам по установке mongodb как службе и node.js (обычная установка в Linux). Затем установите express.js и mongodb, используя npm ('npm install'), и следуйте первым примерам express.js. Здесь нет ошибок.Учебники и руководства онлайн по официальным источникам хорошо документированы и охватывают любые возможные сценарии. Настройка node.js на EC2, google содержит около 5 статей и руководств на первой странице. Это нормально, когда речь идет о проблемах - просто уметь их понимать и подходить к исправлению. – moka

+0

Нет, я не хочу, чтобы кто-нибудь делал что-нибудь для меня. Мой главный вопрос заключается в том, действительно ли этот подход можно достичь с помощью этой настройки. Я не нашел ни одного учебника, в котором подробно объясняется, как запускать несколько приложений/сайтов (с разными доменами) из одного узла. Я не вижу, насколько этот вопрос слишком широк, поскольку у меня очень специфический набор требований, и я хочу знать, возможно это или нет. – WagnerMatosUK

ответ

1

Рассмотрите возможность использования HTTP-прокси: http://blog.nodejitsu.com/http-proxy-intro

Или Nginx для проксирования на основе доменных имен.

+0

Вышеупомянутое помогло мне перейти к тому, что у меня есть, но это еще не решение, которое я хотел. Может быть, я этого не хочу. Одна вещь, которую я не понимаю, - это то, что на терминале, если я запустил мое приложение (включая обратный прокси-сервер) с узлом myapp.js, он запустится. Однако, как только я покидаю терминал, приложение перестает работать. Как мне обойти это? – WagnerMatosUK

+0

Используйте 'screen' или службы для запуска узла в качестве фонового процесса. – moka

2

Это установка для Linux VM, где я запустить приложение MEAN.

  • Я запускаю свое приложение-узел на не-привилегированном порту (> = 1024) на моей виртуальной машине. Я использую комбинацию Upstart/Monit, чтобы запустить ее и продолжать работать. Вы можете проверить это blog post о том, как его настроить.

  • Для порта 80 трафика Я использую NGINX в качестве обратного прокси-сервера для моего приложения. NGINX позволит вам маршрутизировать входящий трафик на основе входящего URL-адреса. Вот link на хорошей странице SO о том, как установить эту часть вверх.

Смежные вопросы