Вы не можете использовать обе службы в одном порту. Есть несколько вещей, которые вы можете сделать в зависимости от усилий, которые вы хотите применить, и сложности, которые вам нужны для вашего решения:
1) Сохранение «обоих» на порту 8080
: вы можете эмулировать это, если прослушивать Apache 8080, а узел в другом порту - 8888, затем сделайте VirtualHost, который указывает на ваш IP-адрес (127.0.0.1 тоже работает), используя name based vhosts, вы можете иметь a.mybox: 8080 для вашего обычного рабочего пространства, затем b.mybox: 8080 указывают на рабочее пространство вашего узла. Вы делаете это, используя Apache ProxyPass and ProxyPassReverse к вашему localhost:8888
, где прослушивает узел.
2) Вы можете сделать то же самое, что и выше, но вместо NamedVhosts
вы можете просто сделать путь сказать/узел /, который плюет обратно ваш node:8888
, снова используя ProxyPass
.
3) Наконец, самое простое и быстрое решение - просто поставить узел в другой порт, скажем 8888, и перейти к этому. Вы можете указать порт, который вы слушаете в качестве параметра, для вызова listen()
: http://nodejs.org/api/net.html#net_server_listen_port_host_backlog_callback.
Вы также можете выполнить проксирование с помощью самого узла или с помощью другого процесса, такого как nginx или haproxy, или одного из многих модулей узла, например this one. В конце концов, проще просто сохранить его в другом порту, делая все остальные конфиги, возможно, не стоит хлопот.
Наконец, если вы пройдете через прокси-сервер с разными vhosts, просто помните, что вы можете определить имена своих хостов в /etc/hosts
, если у вас нет полного домена. Опять же, проще.
Надеюсь, это поможет.
спасибо !! спасибо work :) он сделал некоторые проблемы с c9 runner (среда IDE перестала зная, что делать, когда я прошу запустить JS-файл), но через минуту или две это сделало меня счастливым! ;-) –