Я пытаюсь подключить веб-сервер (2.4.10) Apache к Tomcat 7, оба расположенные в двух различных VMs. Это - мой первый раз с помощью тех инструментов. Из того, что я понял метод, чтобы проверить, работает ли соединение, должен попытаться получить доступ к Tomcat с помощью URL IP/instance
вместо, если у меня есть Tomcat на 8 080 портах, IP:8080/instance
. Однако каждый раз я пытаюсь сделать это, 404 ошибки возвращаются Apache. Вот моя конфигурация:
На VM Tomcat server.xml имеет строку:
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443 />
На VM Apache я установил те файлы:
apache2.conf (в Apache основная папка)
Servername apache
Include httpd.conf
ServerRoot "/etc/apache2"
Mutex file:${APACHE_LOCK_DIR} default
PidFile ${APACHE_PID_FILE}
Timeout 300
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5
User ${APACHE_RUN_USER}
Group ${APACHE_RUN_GROUP}
HostnameLookups Off
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
# Include module configuration:
IncludeOptional mods-enabled/*.load
IncludeOptional mods-enabled/*.conf
Include ports.conf
<Directory />
Options FollowSymLinks
AllowOverride None
Require all denied
</Directory>
<Directory /usr/share>
AllowOverride None
Require all granted
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
AccessFileName .htaccess
<FilesMatch "^\.ht">
Require all denied
</FilesMatch>
LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %O" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
# Include generic snippets of statements
IncludeOptional conf-enabled/*.conf
# Include the virtual host configurations:
IncludeOptional sites-enabled/*.conf
httpd.conf (в Apache основная папка, символьная ссылка в conf-доступном и conf-поддерживающем)
LoadModule jk_module /usr/lib/apache2/modules/mod_jk.so
workers.properties (в/etc/libapache2-mod-jk)
workers.tomcat_home=/usr/share/tomcat7
workers.java_home=/usr/lib/jvm/java-7-openjdk-amd64
ps=/
worker.list=agent1
worker.maintain=3600
worker.agent1.port=8009
worker.agent1.host=192.168.2.97
worker.agent1.type=ajp13
worker.agent1.lbfactor=1
worker.loadbalancer.type=lb
worker.loadbalancer.balance_workers=agent1
jk.conf (в доступной модификациям папке, свяжитесь в поддерживающем модификации),
JkWorkersFile /etc/libapache2-mod-jk/workers.properties
JkLogFile /var/log/apache2/mod_jk.log
JkLogLevel debug
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
JkShmFile /var/log/apache2/jk-runtime-status
JkWatchdogInterval 60
JkMount /gameoflife/* agent1
JkMount /gameoflife agent1
JkMount /gameoflife* agent1
<Location /jk-status>
JkMount jk-status
Order deny,allow
Deny from all
Allow from 127.0.0.1
</Location>
<Location /jk-manager>
JkMount jk-manager
Order deny,allow
Deny from all
Allow from 127.0.0.1
</Location>
Я знаю, что это может быть путаница, потому что я попробовал после различных руководств и выполнения всего, чтобы иметь его работа, но я все еще получаю 404 ошибки. Как у меня может быть он работа?
По каким-то причинам оно начало работать, как только я попытался (в отчаянии) реализовать балансировщик нагрузки даже без AJP-коннектора, работающего на одном сервере, учитывая, что это было с самого начала моей конечной целью. Ультра счастлив.
В конце я также написал инструкции JkMount
в файле 000-default.conf
на сайтах, а именно в разделе VirtualHost< *:80>
istruction. Возможно, это было необходимо для корректной работы.