安装tomcat之前必须要安装jdk这个组件,检查系统中是否已经安装了
如上图所示,显示的是jdk的版本1.6,现在最新版的jdk版本是1.7
因为要安装的是tomcat7.0,所以jdk的版本需要1.6及以上
如果你的系统中已经存在jdk版本在1.6以下的,你需要卸载后安装
卸载方法略过
一:安装jdk1.7方法
[root@slocalhost~]tar zxvf jdk-7u9-linux-x64.tar.gz
[root@slocalhost~]mkdir /usr/local/java
[root@slocalhost~]cp -r jdk1.7.0_09/ /usr/local/java
[root@slocalhost~]vi /root/.bashrc
在该文件的最下面加上如下内容:
export JAVA_HOME=/usr/local/java/jdk1.7.0_09
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
[root@slocalhost~]source /root/.bashrc
通过以上的设置,就安装好了jdk
检查一下安装是否成功,看看jdk版本是不是1.7
[root@slocalhost~] java -version
二:安装tomcaat7.0
[root@localhost hh]# tar zxf apache-tomcat-7.0.33.tar.gz
[root@localhost hh]# mv apache-tomcat-7.0.33 /usr/local/tomcat
启动tomcat
[root@localhost hh]# /usr/local/tomcat/bin/startup.sh
启动效果图如下
查看端口效果图如下
[root@localhost hh]# netstat -nutlp | grep java
到这里,tomcat安装成功,默认端口是8080
用客户机测试一下 tomca服务器ip: 192.168.0.188
三:将apache和tomcat进行整合
Apache的编译略过
这里我们只需要修改apache主配置文件
1:打开apache的主配置文件/etc/httpd/conf/httpd.conf
查看里面是否有以下几行,去掉前面的注释。
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
如果没有可能就是apahce没有此模块,需要重新编译安装apache
2:如果有以上几行,则在Virtualhost中加入以下一行 (虚拟主机配置文件)
ProxyPass /(这个意思转发网页的根目录)http://ip地址:8080/注意:8080后面的 / 不可以省略 不想转发的目录可以这样,比如:
Proxypass /test ! 此目录不转发
即可实现将当前网站根目录映射到http://ip地址:8080即tomcat主目录的效果。
Apche的虚拟主机
配置文件截图:
Apche的虚拟主机
动apache,但失败,查看一下apache的错误日志,
[Mon Dec 17 10:54:56.373838 2012] [mpm_event:notice] [pid 4316:tid 3086063296] AH00494: SIGHUP received. Attempting to restart
[Mon Dec 17 10:54:56.378183 2012] [proxy_balancer:emerg] [pid 4316:tid 3086063296] AH01177: Failed to lookup provider 'shm' for 'slotmem': is mod_slotmem_shm loaded??
[Mon Dec 17 10:54:56.378196 2012] [:emerg] [pid 4316:tid 3086063296] AH00020: Configuration Failed, exiting
原来是缺少mod_slotmem_shm.so模块,需要加载此模块,在配置文件里面找到此行,去掉前面的注释
[root@localhost conf]# grep 'slotmem' /usr/local/apache2/conf/httpd.conf
LoadModule slotmem_shm_module modules/mod_slotmem_shm.so (去掉前面的注释)
重启apache
验证
http://www.aaa.com和http://www.aaa.com:8080访问的是同一个页面,成功,ok!
如果apache有2个虚拟主机怎么办?
1:再此台服务器上在安装一个tomcat
安装目录:/usr/local/tomcat2 (略过)
2:修改其端口,防止端口冲突
(1) 修改接受服务器关闭指令的端口号,默认为8005,修改为8006,大约在22行
(2)修改http请求处理端口,默认为8080,修改为8081,大约70在行
(3)修改aip端口,默认为8009,修改为8010,大约在91行
启动tomcat2
查看端口
3:apache的另一个虚拟主机
重新启动apache
4:验证:
Ok.! 成功!