mod_jk не работает с apache2.4 и tomcat7

линукс томкэт 7 апач 2.4

У нас уже есть tomcat6 и apache2.2, работающие на этом сервере. Я пытаюсь запустить более новые версии для следующего проекта. Apache2.4 работает и прослушивает порт 1904. Tomcat работает и прослушивает порт 8081. AJP настроен на 8010.

Я скомпилировал mod_jk для сервера apache и создал файл mod_jk.so. Я скопировал файл в папку с модулями.

Мои рабочие свойства

worker.list=worker3
worker.myworker.type=ajp13
worker.myworker.host=localhost
worker.myworker.port=8010

Мой http.conf имеет:

LoadModule jk_module modules/mod_jk.so
<IfModule jk_module>
  Include conf/extra/mod_jk.conf
</IfModule>

mod_jk.conf находится в этом каталоге и содержит:

JkWorkersFile conf/workers.properties
JkLogFile logs/mod_jk.log
JkLogLevel info
JkShmFile logs/jk-runtime-status
JkLogStampFormat "[%b %d %Y - %H:%M:%S] "
JkRequestLogFormat "%w %V %T"
JkAutoAlias /usr/local/tomcat7/webapps
JkMountCopy All
JkMount /* worker3
JkUnMount /cgi-bin/* worker3
JkUnMount /htdocs/* worker3

server.xml:

<?xml version='1.0' encoding='utf-8'?>
<Server port="8015" shutdown="SHUTDOWN">
  <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
  <Listener className="org.apache.catalina.core.JasperListener" />
  <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
  <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />
  <GlobalNamingResources>
    <Resource name="UserDatabase" auth="Container"
              type="org.apache.catalina.UserDatabase"
              description="User database that can be updated and saved"
              factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
              pathname="conf/tomcat-users.xml" />
  </GlobalNamingResources>
  <Service name="Catalina">
    <Connector port="8081" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8444" />
    <Connector port="8010" protocol="AJP/1.3" redirectPort="8444" />
    <Engine name="Catalina" defaultHost="localhost">
      <Realm className="org.apache.catalina.realm.LockOutRealm">
        <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
               resourceName="UserDatabase"/>
      </Realm>
      <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log." suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />
      </Host>
    </Engine>
  </Service>
</Server>

Я предполагаю, что смогу перейти на [сервер]:1904/examples и получить то же самое, что и при переходе на [сервер]:8081/examples.

В качестве еще одной информации о конфигурации у меня есть файл xml в tomcathome/conf/Catalina/localhost с именем srvc.xml.

<Context path="" docBase="/usr/local/tomcat7/web"/>

Это работает при обращении к серверу tomcat. Спасибо за внимание ко всему этому и за любую помощь, если таковая имеется.


person Mark    schedule 10.05.2013    source источник
comment
Итак, вышеизложенное вроде работает сейчас. Я запускал перезапуск apachectl в каталоге bin, но он перезапускал запущенный нами экземпляр apache2.2. Я запустил ./apachectl restart, и теперь мой экземпляр apache2.4 извлекает файл примеров из нашей установки tomcat6 вместо установки tomcat7, на которую указывает выше.   -  person Mark    schedule 15.05.2013


Ответы (1)


Наконец, нашел его с помощью коллеги. worker.properties должен выглядеть так:

worker.list=worker3
worker.worker3.type=ajp13
worker.worker3.host=localhost
worker.worker3.port=8010

У оригинала был worker.myworker.type и так далее.

person Mark    schedule 15.05.2013