从WINDOWS到LINUX——Ubuntu下的Apache与Tomcat整合
[文章作者:叶歆昊 最后修改:2010-07-18 转载请注明原文链接:http://littz.com/from-windows-to-linux-ubuntu-apache-tomcat-integration.html]
先来介绍一下我们的目标环境:Ubuntu 7.1 Server操作系统(Linux 2.6.22-14-server
核心),Apache/2.2.4 (Ubuntu),mod_jk/1.2.23,PHP/5.2.3,Tomcat/5.5.25.0,sun-java6-jdk,MySQL/5.0.45。
由于在安装Ubuntu时选择了安装LAMP,Apache和PHP还有MySQL已经自动安装好并且连接成功。使用Ubuntu自动安装LAMP时,MySQL的root密码不为空,并且会自动生成一个随机的MySQL用户名和密码。查看密码可以使用一下指令
sudo gedit /etc/mysql/debian.cnf
里面的MySQL账户相当如root的权限,连接成功后及时修改root账户和debian账户的密码,或者直接删除debian账户,只留一个root管理,再建立一个普通的账户用于网站程序连接。
MySQL数据库的管理可以考虑使用PHPMyAdmin来管理,安全、方便。PHPMyAdmin同样的使用apt-get安装。
Apache2的启动与停止
sudo /etc/init.d/apache2 start sudo /etc/init.d/apache2 stop sudo /etc/init.d/apache2 restart
在Firefox浏览器里输入localhost测试Apache2是否正常工作。
接下来安装SUN JDK,保持此顺序安装能免去很多后期配置工作量,安装程序时会大多自动配置。
sudo apt-get install sun-java6-jdk
环境变量配置
编辑环境文件 /etc/environment
sudo gedit /etc/environment
并在其中添加
CLASSPATH=.:/usr/lib/jvm/java-6-sun/lib JAVA_HOME=/usr/lib/jvm/java-6-sun
并保存退出
打开配置文件:
sudo gedit ~/.bashrc
在文件的末尾,添加如下两行
export JAVA_HOME=/usr/lib/jvm/java-6-sun export PATH=$PATH:$JAVA_HOME/bin
打开配置文件:
sudo gedit /etc/rc.local
添加
export JDK_HOME=/usr/lib/jvm/java-6-sun export JAVA_HOME=/usr/lib/jvm/java-6-sun
注销并重新登录,新的环境变量就生效了
安装Tomcat 5.5
sudo apt-get install tomcat5.5 sudo apt-get install tomcat5.5-admin sudo apt-get install tomcat5.5-webapps
在浏览器里输入http://localhost:8180测试一下Tomcat是否正常工作,如果正常工作,会显示Tomcat的默认首页。Ubuntu下的Tomcat默认端口是8180,而不是一般的8080。
Tomcat5.5的启动与停止
sudo /usr/share/tomcat5.5/bin/./startup.sh sudo /usr/share/tomcat5.5/bin/./shutdown.sh
连接Apache2与Tomcat5.5
连接Apache2于Tomcat5.5有多种方法,我们使用高效率的mod_jk连接器。
安装
sudo apt-get install libapache2-mod-jk
检查连接器是否正确安装
sudo ls /etc/apache2/mods-enabled/
若存在jk.load文件,说明连接器正确安装并已启用
配置连接器找到Tomcat5.5和jdk的目录
sudo gedit /etc/libapache2-mod-jk/workers.properties
找到workers.tomcat_home与workers.java_home,设置为
workers.tomcat_home=/usr/share/tomcat5.5 workers.java_home=/usr/lib/jvm/java-6-sun
接下来配置在apache2.conf
打开httpd_example_apache2.conf
sudo gedit /usr/share/doc/libapache2-mod-jk/httpd_example_apache2.conf
复制里面的内容到apache2.conf最后
sudo gedit /etc/apache2/apache2.conf
意为设置所有.jsp和servlet均调用Tomcat来解析。
重启Apache2和Tomcat5.5
输入http://localhost/index.jsp若能出现Tomcat默认首页,则Apache2于Tomcat5.5已经连接成功。
设置Apache2与Tomcat5.5同一工作目录
若WEB发布目录存放于/var/www下,则如下设置:
打开apache2的ports.conf
sudo gedit /etc/apache2/ports.conf
加入以下内容
Listen 127.0.0.1:80 ServerName LocalHost:80 Listen 127.0.0.1:443
打开apache2的http.conf
sudo gedit /etc/apache2/http.conf
加入一下内容
DirectoryIndex index.php index.jsp index.html index.htm DocumentRoot "/var/www" Options Indexes FollowSymLinks AllowOverride None Order deny,allow Allow from all Order deny,allow Deny from all PidFile /var/run/apache2.pid
编辑Tomcat5.5的server.xml
sudo gedit /etc/tomcat5.5/server.xml
在与之间,加入
关闭8180端口的监听,用注释掉 Connector port=81803 的那个标签
至此,Apache2与Tomcat5.5整合完毕
下一节讲述如何恢复备份的数据。
2008/03/26 于 16:17:00
兄台。。按照你的配置的。。在不同的目录下可以正常工作。。很是感谢。。不过按照你的配置在同一个目录下却无法显示。。请给予指导
2008/03/26 于 21:31:00
当时这些操作是参照其他网站的方法,结合自身需要写的一份安装流程,在我的电脑上安装调试成功,及时写下来。不过在正式给服务器更换操作系统之前我想多做几次尝试,充分熟悉LINUX,虽然我对WINDOWS系统比较熟悉,但可以说对LINUX也算是初学者。
很遗憾的是,目前我正在尝试CentOS Apache Resin的环境,源码编译方式,已经没有Ubuntu的系统了,所以很难准确地给你满意的答案。
如果不能成功整合在同一目录下工作的话,可以考虑安装Tomcat Administration Web Application的WEB管理环境(使用apt-get安装也行),在WEB环境下配置Tomcat的工作目录试试