2011-10-03 15 views
5

Mam VPS, w którym hostowałem kilka witryn. Wszystko opierało się na stosie LAMP, więc nie było to nic wielkiego. Zapewniają WHM/cpanel do zarządzania różnymi witrynami. Zdecydowałem się wypróbować plik node.js, kupiłem dla niego osobną domenę i potrzebuję wskazówek, jak skierować tę domenę do aplikacji node.js.Hosting node.js dla określonej domeny tylko na VPS

Tak oto pytania:

1) Jaki jest najlepszy sposób na organizację node.js aplikację na określonej domeny bez zakłócania innych witryn? Jak skonfigurować domenę? Tak, chciałbym użyć domyślnego portu http (80) dla węzła.

2) Ponieważ Apache już nasłuchuje portu 80, czy warto użyć Apache mod_proxy do tego celu? Mam na myśli, jeśli chcę używać websocket, czy apache nadal będzie używać oddzielnych wątków do utrzymywania połączenia z węzłem?

PS. Widziałem już this question, ale odpowiedzi nie wydają się przekonujące.


Edit:

Zapomniałem wspomnieć, mam nieużywaną dedykowanego IP dla tego VPS, które mogę wykorzystać dla node.js.

+1

wysoce zalecane, aby uzyskać odrębną VPS dla tego . Korzystanie z modułów proxy ograniczy funkcje i wydajność. – Fosco

+1

Możesz dość szybko uruchomić aplikację węzła na Heroku i skierować swoją domenę na instancję aplikacji Heroku i nie musisz martwić się o serwery proxy Apache. http://devcenter.heroku.com/articles/node-js – mhoofman

Odpowiedz

8

Wykonaj następujące kroki,

  1. Goto "WHM >> Usługi >> Konfiguracja Konfiguracja Apache >> Reserved IP Editor", a następnie 'zarezerwowana' IP, który chcesz użyć do node.js. Spowoduje to zwolnienie IP z apache.

  2. Utwórz nowy wpis DNS z Wpis jak - example.com A YOUR_IP_ADDRESS

  3. poinformować serwer node.js słuchać IP przy użyciu server.listen(80, "YOUR_IP_ADDRESS");

+0

Czy parametr hosta metody listen() może być domeną, np. 'server.listen (80," example.com ")'? – snapfractalpop

+0

Dzięki BRO !! uratowałem mój tyłek .. pytanie !! Jak to działa. Jak mogę słuchać portu 80 z apache i nodejs ??? –

+0

@RayGarner, no W kroku 1 zwalniasz IP z Apache. Apache i NodeJS, oba nie mogą działać w tym samym porcie. Ten przykład podano dla VPS z wieloma adresami IP.Początkowo są one zarezerwowane przez Apache, nawet jeśli ich nie używasz. Tak więc, w ten sposób można zwolnić adres IP do używania z NodeJS. – Rifat

0

Jeśli Apache już nasłuchuje portu 80, jedyną rzeczą, którą możesz zrobić, to proxy do instancji twojego węzła. I tak, Apache stworzy nowy wątek dla każdego połączenia.

0

Jak już wspomnieli inni, nie można tu wiele zrobić. Apache aktualnie steruje twoim serwerem, a node.js nie spodoba się jeździectwu.

polecam sprawdzanie rzeczy jak nodester, no.de, heroku i so on.

+0

Edytowałem pytanie. Czy posiadanie oddzielnego adresu IP nie eliminuje korzystania z serwerów proxy? – MHK

+0

Możesz mieć apache nasłuchiwać na jednym IP i node.js na drugim IP i nie będą się wzajemnie zakłócać. – Eliasdx

Powiązane problemy