Моя цель состоит в том, чтобы порты 80 и 81 прослушивали и обслуживали контент по двум разным путям. Я смотрю на репликацию того, что я делал с IIS и создание веб-сайтов на определенных портах.
Я взял файл базовой конфигурации и добавил следующие строки в тег 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>
Я собирался дать совет, где мне нужно было установить тег Service с тегом Connector и Context для каждого порта, который я хотел запустить (внутри основного тега Server).
Я посмотрел свой журнал и нашел следующее:
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)
Мне известно о том, что Context работает лучше в более локализованном файле context.xml, но я не возражаю против перезапуска, пока это не заработает. Или, может быть, он должен быть там (не для APress Pro Apache TomCat6).
На данный момент переход на IP: 80 не вызывает ничего, ни файла, ни ошибки, просто пустую страницу. Даже когда я пытаюсь получить доступ к index.html (который был скопирован в надлежащую docBase), я получаю пустой экран без каких-либо ошибок.
Редактировать # 2
Я решил опубликовать свои файлы на тот случай, если у кого-то будет больше времени и он захочет их просмотреть.
Вот мой файл server.xml:
http://pastebin.com/DAunTPTg
Вот ошибка, которую я получаю в данный момент:
http://pastebin.com/mrrd0116
Редактировать # 3
Чтобы упростить ситуацию, я попытался заставить порт 80 нормально реагировать.
Согласно моей книге:
Имя этого виртуального хоста, как
настроен с DNS. Один из
хосты, вложенные в движок, должны
иметь имя, которое соответствует
атрибут defaultHost этого движка.
Зачем мне указывать что-либо, кроме localhost (localhost1 не сработает, не так ли?)
Это то, где я сейчас нахожусь, все еще не работает:
<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>
Я также получаю новые ошибки:
18 января 2011 20:37:12
org.apache.catalina.startup.Catalina
НАЧАЛО СЕВЕР: Каталина.старт:
LifecycleException: ошибка
инициализация:
java.lang.NullPointerException в
org.apache.catalina.core.StandardContext.start (StandardContext.java:4380)
в
org.apache.catalina.core.ContainerBase.start (ContainerBase.java:1045)
в
org.apache.catalina.core.StandardHost.start (StandardHost.java:785)
в
org.apache.catalina.core.ContainerBase.start (ContainerBase.java:1045)
в
org.apache.catalina.core.StandardEngine.start (StandardEngine.java:445)
в
org.apache.catalina.core.StandardService.start (StandardService.java:519)
в
org.apache.catalina.core.StandardServer.start (StandardServer.java:710)
в
org.apache.catalina.startup.Catalina.start (Catalina.java:581)
в
sun.reflect.NativeMethodAccessorImpl.invoke0 (Native
Метод) в
sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:39)
в
sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:25)
в
java.lang.reflect.Method.invoke (Method.java:597)
в
org.apache.catalina.startup.Bootstrap.start (Bootstrap.java:289)
в
org.apache.catalina.startup.Bootstrap.main (Bootstrap.java:414)
* * И тысяча сорок-девять
18 января 2011 20:36:47
org.apache.catalina.mbeans.ServerLifecycleListener
createMBeans SEVERE: createMBeans:
Throwable
java.lang.NullPointerException в
org.apache.catalina.mbeans.MBeanUtils.createObjectName (MBeanUtils.java:1086)
в
org.apache.catalina.mbeans.MBeanUtils.createMBean (MBeanUtils.java:504)
в
org.apache.catalina.mbeans.ServerLifecycleListener.createMBeans (ServerLifecycleListener.java:570)
в
org.apache.catalina.mbeans.ServerLifecycleListener.createMBeans (ServerLifecycleListener.java:366)
в
org.apache.catalina.mbeans.ServerLifecycleListener.createMBeans (ServerLifecycleListener.java:535)
в
org.apache.catalina.mbeans.ServerLifecycleListener.createMBeans (ServerLifecycleListener.java:498)
вorg.apache.catalina.mbeans.ServerLifecycleListener.createMBeans (ServerLifecycleListener.java:656)
в
org.apache.catalina.mbeans.ServerLifecycleListener.createMBeans (ServerLifecycleListener.java:628)
в
org.apache.catalina.mbeans.ServerLifecycleListener.createMBeans (ServerLifecycleListener.java:278)
в
org.apache.catalina.mbeans.ServerLifecycleListener.lifecycleEvent (ServerLifecycleListener.java:129)
в
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent (LifecycleSupport.java:119)
в
org.apache.catalina.core.StandardServer.start (StandardServer.java:703)
в
org.apache.catalina.startup.Catalina.start (Catalina.java:581)
в
sun.reflect.NativeMethodAccessorImpl.invoke0 (Native
Метод) в
sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:39)
в
sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:25)
в
java.lang.reflect.Method.invoke (Method.java:597)
в
org.apache.catalina.startup.Bootstrap.start (Bootstrap.java:289)
в
org.apache.catalina.startup.Bootstrap.main (Bootstrap.java:414)
Редактировать # 4
Я добавил структуру папок / Stable / localhost в папку conf. Также добавлены как host-manager.xml, так и manager.xml.
Все еще не работает.
Редактировать # 5
Я думаю, что получил, ну, я обслуживаю страницы html и cfml с некоторыми ошибками в файлах журнала.
<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>
Ошибка:
18 января 2011 11:31:40
org.apache.catalina.core.StandardContext
resourcesStart SEVERE: Ошибка запуска
статические ресурсы
java.lang.IllegalArgumentException:
База документов
C: \ sites \ test \ stable \ manager делает
не существует или не читается
Каталог »