Tomcat aiuto configurazione: più porte non risponde
-
12-10-2019 - |
Domanda
Il mio obiettivo è quello di avere la porta 80 e 81 ascoltare e servire contenuti da due distinti percorsi. Sto guardando replicare quello che ho usato a che fare con IIS e la creazione di siti web su porte specifiche.
ho preso il file di configurazione di base e ha aggiunto le seguenti righe all'interno del tag Server (server.xml):
<Service name="stable">
<Connector port="80" protocol="HTTP/1.1" />
<Context docBase="C:\websites\test\stable\" />
</Service>
<Service name="release">
<Connector port="81" protocol="HTTP/1.1" />
<Context docBase="C:\websites\test\release\" />
</Service>
I stava andando su una punta in cui ho dovuto installare un numero di servizio con il connettore e la modifica di contesto per ogni porta Volevo correre (all'interno del tag principale Server).
Ho guardato il mio log e trovato il seguente:
16-Jan-2011 8:54:44 AM org.apache.catalina.connector.CoyoteAdapter service
SEVERE: An exception or error occurred in the container during the request processing
java.lang.NullPointerException
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:861)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1584)
at java.lang.Thread.run(Thread.java:619)
Sono consapevoli del contesto lavorativo meglio in un file context.xml più localizzato, ma non mi dispiace il riavvio fino a quando ottengo questo lavoro. O forse ha bisogno di essere lì (non a APremere Pro Apache tomcat6).
A questo punto, andare a IP: 80 non porta a nulla, nessun file, nessun errore, solo una pagina vuota. Anche quando provo ad accedere index.html (che è stato copiato nel corretto docBase), ottengo uno schermo in bianco senza errori.
Modifica # 2
Ho pensato di postare i miei file nel caso in cui qualcuno ha avuto più tempo sulle loro mani e voleva un andare verso di loro.
Ecco il mio file server.xml: http://pastebin.com/DAunTPTg
Ecco l'errore che sto ricevendo in questo momento: http://pastebin.com/mrrd0116
Modifica # 3
Per rendere le cose più semplici, ho cercato di avere la porta 80 risponde correttamente.
Come per il mio libro:
Il nome di questo host virtuale, come configurato con DNS. Uno di host annidate all'interno di un must del motore avere un nome che corrisponde al attributo defaultHost di quel motore.
Perché dovrei essere tutt'altro che indico localhost (localhost1 non funzionerebbe è vero?)
Questo è dove mi trovo in ora, ancora non funziona:
<Service name="Stable">
<Connector
port="80"
protocol="HTTP/1.1"
connectionTimeout="20000" />
<Engine name="Stable" defaultHost="localhost">
<Host
name="localhost"
appBase="webapps">
<Context docBase="C:\websites\test\stable" />
</Host>
</Engine>
</Service>
Inoltre sto ottenendo un nuovo errori:
18-Jan-2011 08:37:12 org.apache.catalina.startup.Catalina avviare SEVERE: Catalina.start: LifecycleException: Errore initializaing: java.lang.NullPointerException a org.apache.catalina.core.StandardContext.start (StandardContext.java:4380) a org.apache.catalina.core.ContainerBase.start (ContainerBase.java:1045) a org.apache.catalina.core.StandardHost.start (StandardHost.java:785) a org.apache.catalina.core.ContainerBase.start (ContainerBase.java:1045) a org.apache.catalina.core.StandardEngine.start (StandardEngine.java:445) a org.apache.catalina.core.StandardService.start (StandardService.java:519) a org.apache.catalina.core.StandardServer.start (StandardServer.java:710) a org.apache.catalina.startup.Catalina.start (Catalina.java:581) a sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method) a sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:39) a sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:25) a java.lang.reflect.Method.invoke (Method.java:597) a org.apache.catalina.startup.Bootstrap.start (Bootstrap.java:289) a org.apache.catalina.startup.Bootstrap.main (Bootstrap.java:414)
e
18-Jan-2011 08:36:47 org.apache.catalina.mbeans.ServerLifecycleListener createMBeans gravi: createMBeans: Throwable java.lang.NullPointerException a org.apache.catalina.mbeans.MBeanUtils.createObjectName (MBeanUtils.java:1086) a org.apache.catalina.mbeans.MBeanUtils.createMBean (MBeanUtils.java:504) a org.apache.catalina.mbeans.ServerLifecycleListener.createMBeans (ServerLifecycleListener.java:570) a org.apache.catalina.mbeans.ServerLifecycleListener.createMBeans (ServerLifecycleListener.java:366) a org.apache.catalina.mbeans.ServerLifecycleListener.createMBeans (ServerLifecycleListener.java: 535) a org.apache.catalina.mbeans.ServerLifecycleListener.createMBeans (ServerLifecycleListener.java:498) a org.apache.catalina.mbeans.ServerLifecycleListener.createMBeans (ServerLifecycleListener.java:656) a org.apache.catalina.mbeans.ServerLifecycleListener.createMBeans (ServerLifecycleListener.java:628) a org.apache.catalina.mbeans.ServerLifecycleListener.createMBeans (ServerLifecycleListener.java:278) a org.apache.catalina.mbeans.ServerLifecycleListener.lifecycleEvent (ServerLifecycleListener.java:129) a org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent (LifecycleSupport.java:119) a org.apache.catalina.core.StandardServer.start (StandardServer.java:703) a org.apache.catalina.startup.Catalina.start (Catalina.java:581) a sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method) a sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:39) a sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:25) a java.lang.reflect.Method.invoke (Method.java:597) a org.apache.catalina.startup.Bootstrap.start (Bootstrap.java:289) a org.apache.catalina.startup.Bootstrap.main (Bootstrap.java:414)
Modifica # 4
ho aggiunto la struttura delle cartelle / Stable / localhost nella cartella conf. Anche aggiunto sia su host manager.xml e manager.xml.
fa ancora non funziona.
Modifica # 5
Credo di aver capito, beh, sto servendo html e pagine CFML con alcuni errori nei file di registro.
<Service name="Stable">
<Connector
port="80"
protocol="HTTP/1.1"
connectionTimeout="20000" />
<Engine name="Stable" defaultHost="localhost">
<Host
name="localhost"
appBase="C:\websites\test\stable\">
<Context docBase="C:\websites\test\stable\" path="" />
</Host>
</Engine>
</Service>
Varietà:
18-Jan-2011 11:31:40 org.apache.catalina.core.StandardContext resourcesStart SEVERE: partenza Errore risorse statiche java.lang.IllegalArgumentException: Base documento C: \ siti \ test \ stabile \ direttore fa non esiste o non è un leggibile directory »
Soluzione 2
Questo è il lavoro per me:
<Service name="Stable">
<Connector
port="80"
protocol="HTTP/1.1"
connectionTimeout="20000" />
<Engine name="Stable" defaultHost="localhost">
<Host
name="localhost"
appBase="C:\websites\test\stable\">
<Context docBase="C:\websites\test\stable\" path="" />
</Host>
</Engine>
Altri suggerimenti
penso che tu sia sulla strada giusta, ma sei manca solo alcuni degli elementi secondari che sono elencati nella specifica per l'elemento di servizio.
Credo che tu stai solo dimenticando il Motore e Host elementi, che sono rispettivamente nonno e padre al Contesto elemento.
<Service name="stable">
<Connector port="80" protocol="HTTP/1.1"
maxThreads="150" connectionTimeout="20000"/>
<Engine name="stable" defaultHost="localhost">
<Host name="localhost1" appBase="webapp1">
<Context docBase="C:\websites\test\stable\" />
</Host>
</Engine>
</Service>
<Service name="release">
<Connector port="81" protocol="HTTP/1.1"
maxThreads="150" connectionTimeout="20000"/>
<Engine name="release" defaultHost="localhost2">
<Host name="localhost2" appBase="webapp2">
<Context docBase="C:\websites\test\release\" />
</Host>
</Engine>
</Service>
Per ulteriori informazioni e un esempio più dettagliato, che definisce due elementi di servizio, uno sulla porta 8080 e uno sulla porta 9080, si veda questo messaggio della mailing list:
http://www.mail-archive.com/ users@tomcat.apache.org/msg44729.html