Sharing my knowledge with web hosting, particularly with 1and1's server.
Showing posts with label Tomcat. Show all posts
Showing posts with label Tomcat. Show all posts
Connect your Java App to Apache via mod_jk
If there's a need to connect a Tomcat App to Apache, so that the web application can be access directly via port 80 (instead of 8080), I always use mod_proxy_ajp as it's very easy to configure. By default it's loaded in Apache in CentOS, while in Ubuntu you still have to load manually that module.
For some reasons, mod_proxy_ajp keeps on failing. It's throwing an error message like below:
[Thu Jun 21 10:21:29 2012] [error] proxy: AJP: failed to make connection to backend: localhost
[Thu Jun 21 10:21:31 2012] [error] proxy: AJP: disabled connection for (localhost)
[Thu Jun 21 10:22:04 2012] [error] proxy: AJP: disabled connection for (localhost)
[Thu Jun 21 10:23:49 2012] [error] (111)Connection refused: proxy: AJP: attempt to connect to 127.0.0.1:8009 (localhost) failed
I just can't fix it. Weird!
So I have decided to switch to mod_jk. I have done this in Ubuntu server.
Assuming that you've already got Tomcat and Apache working in your box, to install mod_jk:
apt-get install libapache2-mod-jk
Create your workers.properties file:
vim /etc/apache2/workers.properties
Insert the following:
# 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
Configure Apache to use the worker that you have just created:
vim /etc/apache2/apache2.conf
Insert the following:
JkWorkersFile /etc/apache2/workers.properties
JkShmFile /var/log/apache2/mod_jk.shm
JkLogFile /var/log/apache2/mod_jk.log
JkLogLevel info
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
Configure which site or URL is to be pass connected to Tomcat:
vim /etc/apache2/sites-enabled/000-default
For instance if you want to have the ROOT app from your Tomcat to be connected to Apache, insert this line:
JkMount / worker1
Enable connector port in Tomcat by uncommenting the following line in /etc/tomcat6/server.xml:
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
Restart Apache and Tomcat, that's it!
Tomcat down after reboot
Help! My Tomcat isn't running anymore after reboot!
Eh.. first thing's first. Verify if Tomcat is running or not. Login to your server through SSH and issue the following command:
-bash-3.2# telnet localhost 8080
Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Connection refused
tomcat6 is stopped.
If you see those results, that means Tomcat isn't running in the first place.
Make sure that it's enabled for start-up. The next time your server will be rebooted, Tomcat should start.
To enable Tomcat for start-up, do:
-bash-3.2# chkconfig tomcat5 on
Subscribe to:
Comments (Atom)
