Размещать свой собственный сервер узлов на Apache?

node.js apache

191 просмотра

1 ответ

Мне удалось настроить веб-сервер Apache на моем домашнем компьютере, работающем на порте 80. Мой прямой путь был настроен так, что мое общедоступное домен перенаправило меня к моим файлам Apache HTDOCs. Суть в том, что я смог разместить свой собственный веб-сервер, поэтому я могу разместить свой собственный веб-сайт. Я успешно могу показывать контент HTML.

Теперь я хотел бы добавить NodeJS к этой функции, и я несколько смущен тем, как.

Следуя ответу по этой ссылке , я убедился, что раскомментировал следующие строки в моем httpdфайле:

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so

Теперь я немного запутался, где в моем httpdфайле разместить эту строку:

ProxyPass /node http://localhost:8000/

В этом отношении я не уверен, позволит ли это мне получить доступ к моим nodejs извне.

Кроме того, мне интересно, должен ли я устанавливать NodeJS в мою папку Apache, в моем случае c:/Apache24. Если да, в какой каталог я это установлю?

Чтобы добавить, мой файл тестового узла (с именем nod.js) содержит следующий код.

var http = require('http');
http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Hello Apache!\n');
}).listen(8000);

Я запускаю это через node nodмой htdocs. Хотя это работает в localhost, оно не отображается на моем внешнем IP.

РЕДАКТИРОВАТЬ : Из этого примера я считаю, что я должен обернуть мой ProxyPass внутри виртуального хоста, что-то вроде этого:

<VirtualHost *:80>   
     ProxyPass /node http://localhost:8000/ connectiontimeout=5 timeout=30  # optional timeout settings  
</VirtualHost>

Это не работает, хотя я предполагаю, что это в пределах того, что я должен делать.

Автор: Jason Chen Источник Размещён: 08.11.2019 11:27

Ответы (1)


1 плюс

Решение

Не имеет значения, в каком каталоге вы запускаете сервер вашего узла.
Apache отправляет запрос на узел через HTTP, технически они могут быть на двух разных машинах (вы используете localhost, но вместо этого это может быть любой другой IP-адрес).

Единственное, что имеет значение, это не каталог, а порт, который вы используете в конфигурации вашего узла.

Автор: Nir Levy Размещён: 20.08.2016 02:59
Вопросы из категории :
32x32