Заставьте приложение 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