Chociaż inne odpowiedzi rozwiązują problem PO, wszystkie są przesadzone i nie wyjaśniają, dlaczego on lub ona doświadcza tego problemu.
Kluczem jest ta linia: „Zamykam kit, a potem nie mogę dotrzeć do adresu”
Kiedy jesteś zalogowany do swojego zdalnego hosta na Putty, rozpocząłeś proces linuksa SSH i wszystkie polecenia wpisane z tej sesji SSH będą wykonywane jako dzieci tego procesu.
Problem polega na tym, że po zamknięciu Putty wychodzisz z sesji SSH, która zabija ten proces i wszelkie aktywne procesy potomne. Kiedy zamykasz kit, nieumyślnie zabijasz serwer, ponieważ uruchomiłeś go na pierwszym planie . Aby uniknąć tego zachowania, uruchom serwer w tle , dołączając & do swojego polecenia:
node /srv/www/MyUserAccount/server/server.js &
Problemem jest tutaj brak wiedzy o systemie Linux, a nie pytanie o węzeł. Aby uzyskać więcej informacji, sprawdź: http://linuxconfig.org/understanding-foreground-and-background-linux-processes
AKTUALIZACJA:
Jak wspomnieli inni, serwer węzłów może nadal umrzeć przy wychodzeniu z terminala. Częstym problemem, z jakim się zetknąłem, jest to, że chociaż proces węzła działa w bg, jest on standardem, a stderr jest nadal wskazywany na terminalu. Oznacza to, że jeśli serwer węzła zapisze w pliku console.log lub console.error, otrzyma błąd zepsutej rury i wystąpi awaria. Można tego uniknąć, przesyłając dane wyjściowe procesu:
node /srv/www/MyUserAccount/server/server.js > stdout.txt 2> stderr.txt &
Jeśli problem będzie się powtarzał, powinieneś przyjrzeć się takim rzeczom, jak tmux lub nohup , które są jeszcze bardziej niezawodne niż rozwiązania specyficzne dla węzłów, ponieważ można ich używać do uruchamiania wszystkich typów procesów (baz danych, usług rejestrowania, innych języków).
Częstym błędem, który może spowodować zamknięcie serwera, jest to, że po uruchomieniu nohup node your_path/server.js &
wystarczy zamknąć terminal Putty jednym kliknięciem. Zamiast tego powinieneś użyć exit
polecenia, wtedy serwer węzła będzie działał.