I\'m working on my first Java site. I\'m running Apache Tomcat on port 8080, and Apache HTTPD on port 80. The current URL that I can access the site at is (for example) 123.
The usual way this is done, as you already mentioned, is to use mod_jk
from Apache HTTPD to forward that content that you want to be processed by Tomcat.
There is a Quick HowTo at tomcat.apache.org. You need to do the following:
mod_jk.so
into the appropriate modules directory for Apache HTTPD.workers.properties
httpd.conf
, add a section to configure mod_jk
.mod_jk
protocol, which is usually on port 8009.The lines in httpd.conf
with JkMount
:
JkMount /examples/* worker1
tell Apache HTTPD which requests are to be forwarded to Tomcat.
Both the helpful answers above are good, but I much prefer mod_proxy
over mod_jk
. There's no extra installation to do for mod_proxy, unlike mod_jk
, and the setup is much easier. mod_jk
gives you more control over detailed tuning of Tomcat parameters, but if you just want a simple redirect from Apache to Tomcat, mod_proxy
is the way to go.
The correct way to do things is to leave Apache at 80 and Tomcat at 8080 and use a plug in (preferably mod_proxy) to proxy Tomcat from Apache. mod_proxy would only take you 10 minutes to set up.
This how-to is very simple to follow.
If you want static content to be served by Apache instead of Tomcat you should use mod_jk : http://tomcat.apache.org/tomcat-6.0-doc/proxy-howto.html
And what about SSL - if we want Apache to handle HTTPS, because it is faster then java/Tomcat?
you should configure your tomcat using this link. for tomcat 7 http://tomcat.apache.org/tomcat-7.0-doc/proxy-howto.html