Заставьте приложение node.js работать на сервере Ubuntu

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

приложение слушает порт 8000 как:

var app = express();
// ... some codes in between ...
app.listen(8000);

и в моей локальной среде я могу получить доступ к приложению узла, как:

http://localhost:8000

однако, когда я пытаюсь заставить его работать на моем сервере линоде (Ubuntu 10.04), я не могу получить доступ к приложению узла с помощью:

http://mydomain.com:8000

Я уверен, что у меня есть все node_modules на месте, потому что, когда я делаю

node app.js

он не возвращает сообщение об ошибке и выглядит так, как будто он работает.

Я думаю, может быть, это потому, что у меня есть настройка apache2 для http://mydomain.com/, и я должен сделать какую-то настройку прокси, или это может быть какая-то проблема, которую я вообще не знаю. Я действительно не знаю, и не могу найти никаких связанных документов в Google... Я знаю, что между ними должно быть много вещей, которые я не понимаю... Пожалуйста, помогите мне понять, как развернуть приложение node.js в сервер. Спасибо всем большое

1 ответ

Решение

Похоже, это может быть проблема с брандмауэром.

Вы когда-нибудь следовали руководству Linode по созданию брандмауэра?
Если это так, то вам нужно явно разрешить порт 8000:

-A INPUT -p tcp --dport 8000 -j ACCEPT
Другие вопросы по тегам