2014-06-19 18 views
5

Niedawno wprowadziłem zmiany w pliku node.js do aplikacji na Openshift. Aplikacja działa dobrze na moim lokalnym komputerze i jest bardzo zbliżona do przykładu wanilii wdrożonego przez Openshift. Haproxy dziennika Openshift ma tę końcową linię:Openshift Połączenie Layer4, aplikacja się nie uruchomi

[fbaradar-hydrasale.rhcloud.com logi]> [warning] 169/002631 (93881): Server Express/local-biegowa jest w dół, powód: połączenie Layer4 problem, info: "Połączenie odrzucone", sprawdź czas trwania: 0ms. 0 aktywnych i 0 kopii zapasowych serwerów lewej. 0 sesji aktywnych, 0 wymaganych, 0 pozostałych w kolejce.

nodejs.log ma tę końcową linię i nie mesages błędach przed tą linią: DEBUG: Program node server.js exited with code 8

Przeszukałem wysokie i niskie i nie może się znaleźć ktoś z podobnym problemem lub podpowiedzi w jaki sposób rozwiązać ten problem. Oczywiście powyższy wynik w usłudze 503 jest niedostępny przy próbie uzyskania dostępu do aplikacji przez Internet.

Odpowiedz

8

Patrząc na pytanie uważam, że tak się dzieje, ponieważ nie masz żadnych tras skonfigurowanych w katalogu głównym '/'. OpenShift używa HAProxy jako load balancera w skalowalnych aplikacjach. HAProxy jest skonfigurowany do sprawdzania poprawności adresu URL roota root// w celu ustalenia, czy twoja aplikacja jest w górę lub w dół. W twojej aplikacji nie skonfigurowałeś niczego przy głównym adresie URL, więc gdy HAProxy pinguje "/", dostaje 503, więc twoja aplikacja zachowuje się w ten sposób. Istnieją dwa sposoby, można rozwiązać ten problem

  1. Załóż index.html i wsunąć go do stosowania OpenShift
  2. Lepszym rozwiązaniem jest skonfigurowanie pliku konfiguracyjnego HAProxy. SSH na główny bieg za pomocą komendy rhc ssh --app, a następnie zmień katalog na haproxy/conf, a następnie zaktualizuj option httpchk GET / na option httpchk GET /valid_location, a na koniec zrestartuj HAProxy za pomocą rhc cartridge-restart - capridridge haproxy. Możesz sprawdzić stan swoich biegów, przechodząc do http://myapp-myusername.rhcloud.com/haproxy-status.

Mam nadzieję, że to ci pomoże.

1

Dzięki za odpowiedź! Jednak właśnie odkryłem, o co chodziło, wycofując się i wprowadzając jedną zmianę naraz. W podfile znajdowała się ukryta zależność npm. Ta zależność nie została dodana do pliku package.json, a Openshift nie przebudował poprawnie węzła. Po dodaniu zależności wszystko zaczęło działać ponownie. Błędy w dzienniku były trochę czerwone śledzia i po prostu efekt uboczny braku dobrego wniosku do rozpoczęcia!

Powiązane problemy