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 »

È stato utile?

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top