2011-01-18 11 views
5

Moim celem jest, aby port 80 i 81 odsłuchiwał i udostępniał treść z dwóch różnych ścieżek. Zajmuję się replikacją tego, co robiłem z usługami IIS i tworzeniem stron internetowych na określonych portach.Pomoc konfiguracyjna Tomcat: wiele portów nie odpowiada

wziąłem plik konfiguracyjny bazy i dodaje następujące linie wewnątrz znacznika 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> 

jadę na końcówce gdzie musiałem zainstalować Service Tag ze złączem i kontekst dla każdego portu, który chciałem uruchomić (wewnątrz głównego znacznika serwera).

Spojrzałem na mojego dziennika i stwierdził, co następuje:

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) 

Jestem świadomy o kontekście pracy lepiej w bardziej zlokalizowanej pliku context.xml, ale nie mam nic przeciwko ponownym uruchomieniem, dopóki nie dostanę tego pracujący. A może POTRZEBUJE być tam (nie na APress Pro Apache TomCat6).

W tym momencie przechodzenie do adresu IP: 80 nie powoduje niczego, nie ma pliku, błędu, tylko pustą stronę. Nawet gdy próbuję uzyskać dostęp do pliku index.html (który został skopiowany we właściwej wersji docBase), otrzymuję pusty ekran bez żadnych błędów.

Edit # 2

Pomyślałem, że zamieszczać swoje pliki w przypadku, gdy ktoś miał więcej czasu na ich rękach i chciał iść do nich.

Oto mój plik server.xml: http://pastebin.com/DAunTPTg

Oto błąd dostaję w tej chwili: http://pastebin.com/mrrd0116

Edit # 3

aby rzeczy prostsze, I” ve próbował poprawnie odpowiedzieć na port 80.

Jak na moje książki:

Nazwa tego wirtualnego hosta, jak skonfigurowany DNS. Jeden z hostów zagnieżdżonych w silniku musi mieć nazwę zgodną z domyślnym atrybutem tego silnika z .

Dlaczego miałbym być wskazaniem bynajmniej localhost (localhost1 nie będzie działać prawda?)

To gdzie jestem teraz, nadal nie działa:

<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> 

jestem także coraz nowe błędy:

18-Jan-2011 20:37:12 org.apache.catalina.startup.Catalina rozpocząć SEVERE : Catalina.start: LifecycleException: Błąd inicjowanie: java.lang.NullPointerException pod adresem org.apache.catalina.core.StandardContext.start (StandardContext.Java: 4380) w org.apache.catalina.core.ContainerBase.start (ContainerBase.java:1045) w org.apache.catalina.core.StandardHost.start (StandardHost.java:785) w org .apache.catalina.core.ContainerBase.start (ContainerBase.java:1045) w org.apache.catalina.core.StandardEngine.start (StandardEngine.java:445) w org.apache.catalina.core.StandardService .start (StandardService.java:519) pod adresem org.apache.catalina.core.StandardServer.start (StandardServer.java:710) pod adresem org.apache.catalina.startup.Catalina.start (Catalina.java:581) na sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method) w sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:39) w sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:25) na java.lang.reflect.Method.invoke (Method.java:597) w org.apache.catalina.startup.Bootstrap.start (Bootstrap.java:289) w org.apache.catalina.startup.Bootstrap .main (Bootstrap.java: 414)

i

18-Jan-2011 8:36:47 PM org.apache.catalina.mbeans.ServerLifecycleListener createMBeans ciężkie: createMBeans: Throwable java.lang.NullPointerException na org.apache.catalina.mbeans. MBeanUtils.createObjectName (MBeanUtils.java:1086) w org.apache.catalina.mbeans.MBeanUtils.createMBean (MBeanUtils.java:504) w org.apache.catalina.mbeans.ServerLifecycleListener.createMBeans (ServerLifecycleListener.java: 570) pod adresem org.apache.catalina.mbeans.ServerLifecycleListener.createMBeans (ServerLifecycleListener.java:3 66) w org.apache.catalina.mbeans.ServerLifecycleListener.createMBeans (ServerLifecycleListener.java:535) w org.apache.catalina.mbeans.ServerLifecycleListener.createMBeans (ServerLifecycleListener.java:498) w org.apache .catalina.mbeans.ServerLifecycleListener.createMBeans (ServerLifecycleListener.java:656) w org.apache.catalina.mbeans.ServerLifecycleListener.createMBeans (ServerLifecycleListener.java:628) w org.apache.catalina.mbeans.ServerLifecycleListener.createMBeans (ServerLifecycleListener.java:278) pod adresem org.apache.catalina.mbeans.ServerLifecycleListener.lifecycleEvent (ServerLifecycleListener.java:129) w org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent (LifecycleSupport.java:119) w org.apache.catalina.core.StandardServer.start (StandardServer.java:703) w org.apache. catalina.startup.Catalina.start (Catalina.java:581) na sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method) w sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:39) w słońcu. reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:25) pod adresem java.lang.reflect.Method.invoke (Metoda.Java: 597) w org.apache.catalina.startup.Bootstrap.start (Bootstrap.java:289) w org.apache.catalina.startup.Bootstrap.main (Bootstrap.java:414)

Edit # 4

dodałem strukturę folderów/stable/localhost w folderze conf. Dodano również host-manager.xml i manager.xml.

Nadal nie działa.

Edit # 5

Myślę, że mam to, dobrze, jestem obsługujących HTML i CFML stron z pewnymi błędami w plikach logów.

<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> 

Błędy:

18-Jan-2011 23:31:40 org.apache.catalina.core.StandardContext resourcesStart ciężkie: Błąd począwszy Zasoby statyczne java.lang. IllegalArgumentException: dokumentu bazowego C: \ websites \ test \ stabilnej \ menedżer nie nie istnieje lub nie jest czytelny directory »

Odpowiedz

0

to działa dla mnie:

<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> 

3

Myślę, że jesteś na dobrej drodze, ale po prostu brakuje niektórych elementów potomnych wymienionych w specyfikacji dla elementu Usługi.

Myślę, że jesteś po prostu zapominając Silnik i Host elementów, które są dziadkowie i rodzic odpowiednio do Context elementu.

<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> 

Aby uzyskać więcej informacji i bardziej szczegółowego przykładu, który definiuje dwa elementy serwisowe, jeden na porcie 8080 i jeden na porcie 9080, patrz tej listy wpis:

http://www.mail-archive.com/[email protected]/msg44729.html

+0

@ jmort252: dzięki! Jak dotąd dostaję inny błąd. Spróbuję debugować i publikować, jeśli nie będę mógł go uruchomić. Będę również sprawdzić link, który opublikowałeś. – TekiusFanatikus