Saya ingin mengakses Tomcat melalui server-Apache menggunakan konektor. Saya tetap berpegang pada dokumentasi: http://tomcat.apache.org/connectors-doc/generic_howto/quick.html Saya hanya memodifikasinya sedikit agar sesuai dengan struktur direktori yang digunakan pada sistem Debian- (Squeeze) -System saya.
Jadi saya menambahkan yang berikut ini ke /etc/apache2/httpd.conf:
# Load mod_jk module
# Update this path to match your modules location
#LoadModule jk_module libexec/mod_jk.so
# Declare the module for <IfModule directive> (remove this line on Apache 2.x)
#AddModule mod_jk.c
# Where to find workers.properties
# Update this path to match your conf directory location (put workers.properties next to httpd.conf)
JkWorkersFile /etc/apache2/workers.properties
# Where to put jk shared memory
# Update this path to match your local state directory or logs directory
JkShmFile /var/log/apache2/mod_jk.shm
# Where to put jk logs
# Update this path to match your logs directory location (put mod_jk.log next to access_log)
JkLogFile /var/log/apache2/mod_jk.log
# Set the jk log level [debug/error/info]
JkLogLevel info
# Select the timestamp log format
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
# Send everything for context /examples to worker named worker1 (ajp13)
JkMount /tomcat7/* worker1
Saya berkomentar keluar memuat modul, karena itu sudah terjadi, setelah saya menginstal mod_jk melalui sistem paket (libapache2-mod-jk).
Properti pekerja saya terlihat seperti ini:
# Define 1 real worker using ajp13
worker.list=worker1
# Set properties for worker1 (ajp13)
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009
Tomcat 7 diinstal langsung dari arsip dari Apache, karena itu bukan paket di Squeeze. Tomcat 7 berjalan dan dapat dijangkau di bawah portnya sendiri (8180, untuk tidak bertabrakan dengan tomcat6 dari sistem paket). Sejauh yang saya mengerti, saya harus melihat sekarang situs tomcat dengan http: // host / tomcat7 / . Tapi saya malah mendapat 404. Apa yang salah?
Setelah quanta mengisyaratkan untuk mengatur level log ke debug (terima kasih) saya melakukan itu dan menemukan pesan kesalahan berikut di mod_jk.log: 'jk_map_to_storage :: mod_jk.c (3585): hilang peta uri untuk 176.9.9.55:/tomcat7 / ' Saya mencari di Google untuk itu dan menemukan http://old.nabble.com/mod_jk%2C-missing-uri-map-td23984359.html
Jadi opsi yang diatur dalam httpd.conf tidak digunakan di VirtualHosts. Saya menambahkan 'JkMountCopy On' ke VirtualHost - dan mendapatkan Tomcat 404 (bukan httpd 404). Masalahnya di sini, bahwa ia mencoba mengakses URI yang sama persis terpasang, jadi dalam kasus saya / tomcat7. Saya menggunakan nama webapp sebagai mount dan semuanya baik-baik saja untuk saya.