mein Cloudformation-Stack erfolgreich eingesetzt wird. Ich versuche eine Clojure Ring App auf EC2 zu installieren.AWS ELB: Fehler Ressource laden: der Server mit einem Status von 503 geantwortet (Dienst nicht verfügbar: Back-End-Server an der Kapazitätsgrenze ist)
Wenn ich meinen elastischen Lastausgleich Endpunkt bei my-app.us-west-1.elb.amazonaws.com
greife ich bekomme Failed to load resource: the server responded with a status of 503 (Service Unavailable: Back-end server is at capacity)
ich den Kater bestätigt wurde ausgeführt durch sshing in die EC2 und laufen ps -afx
Also, was möglicherweise das Problem hier sein könnte?
Update: okay so eine Locke Anfrage tun zu localhost: 8080 kehrt HTTP 500
SEVERE: Servlet.service() for servlet [clj-west.system/servlet-handler servlet] in context with path [] threw exception
java.lang.NullPointerException: Handler returned nil
at ring.util.servlet$make_service_method$fn__52.invoke(servlet.clj:127)
at clj_west.servlet$_service.invoke(servlet.clj:1)
at clj_west.servlet.service(Unknown Source)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:436)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1078)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
überprüfen Sie die Anzahl der gesunden Instanzen auf dem ELB. Konfigurieren Sie ein HealthCheck korrekt. – Shibashis
@Shibashis Was ist die geeignete Einstellung für tomcat7 Server? Ich sehe sie hier aber keine Ahnung, ob sie Recht haben: 'Ping Ziel \t HTTP: 8080/Gesundheit-Check Timeout \t 5 Sekunden Intervall \t 12 Sekunden Ungesund Schwelle Gesunde Schwelle \t 3' – user299709
Können Sie rollen auf localhost und prüfen, ob der Prozess auf 8080 hört? – Shibashis