首先大致解释一下几个概念:
Tomcat:SUN公司的一个项目叫做java web server,用于展示javacontent的使用;
Apache(ASF)同时也创建了一个项目JServ,JServ结合httpd可以实现Java Web Server的功能;
在1999年SUN将webserver贡献给了ASF,于是ASF将JWS Jserv整合在一起叫做tomcat
Tomcat-native:Apache的另外一个项目APR,其作用是用来增强apache和多个应用程序通信时的速度和稳定性;
准备工作:
1、安装Java虚拟机---jdk
[root@localhost ~]# rpm -ivh jdk-7u4-linux-i586.rpm
[root@localhost ~]# rpm -ql jdk-7u4-linux-i586.rpm
可以发现jdk被安装在了/usr/java中
此时需要导出java的bin路径并且声明一个变量
JAVA_HOME=/usr/java/jdk1.7.0_04
PATH=$PATH:$JAVA_HOME/bin
export JAVA_HOME PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTRC
[root@localhost jdk1.7.0_04]# source /etc/profile
[root@localhost jdk1.7.0_04]# echo $PATH
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/java/jdk1.7.0_04/bin
如果出现以下情况
<a target="_blank" href="http://blog.51cto.com/attachment/201205/150555987.png"></a>
说明已经安装的有旧版本的jdk,因此卸载旧版本的jdk
<a target="_blank" href="http://blog.51cto.com/attachment/201205/150625455.png"></a>
如果出现如上图所示内容,则说明jdk已经安装成功
2、安装tomcat
[root@localhost ~]# tar xvf apache-tomcat-7.0.27.tar.gz -C /usr/local/
[root@localhost local]# ln -sv apache-tomcat-7.0.27 tomcat
[root@localhost tomcat]# export CATALINA_HOME=/usr/local/tomcat/
[root@localhost tomcat]# echo $CATALINA_HOME
/usr/local/tomcat/
[root@localhost tomcat]# bin/catalina.sh start
Using CATALINA_BASE: /usr/local/tomcat/
Using CATALINA_HOME: /usr/local/tomcat/
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr/java/jdk1.7.0_04
Using CLASSPATH: /usr/local/tomcat//bin/bootstrap.jar:/usr/local/tomcat//bin/tomcat-juli.jar
tomcat默认自带了一个webserver,也就是说,tomcat启动后自身可以当做一个web来用,但是tomcat默认监听的是8080端口;
<a target="_blank" href="http://blog.51cto.com/attachment/201205/150856402.png"></a>
借助catalina.sh可以为tomcat提供一个SysV风格的脚本:
[root@localhost ~]# vim /etc/rc.d/init.d/tomcat
#!/bin/bash
# Tomcat init script for linux.
#
# chkconfig: 2345 96 14
# description: The Apache Tomcat server/JSP container
JAVA_OPTS='-Xms64m -Xmx128m' #-Xms64m指的是java虚拟机启动时占用的内存为64M -Xmx128m指的是java虚拟机最大能使用的内存为128M; 因此此项可以根据跟人系统的配置进行相应的调整
JAVA_HOME=/usr/java/jdk1.7.0_04
CATALINA_HOME=/usr/local/apache-tomcat-7.0.27
export JAVA_HOME CATALINA_HOME
exec $CATALINA_HOME/bin/catalina.sh $*
[root@localhost ~]# chmod u+x /etc/rc.d/init.d/tomcat
[root@localhost ~]# service tomcat start
在浏览器中输入:192.168.0.195:8080
<a target="_blank" href="http://blog.51cto.com/attachment/201205/152153930.png"></a>
3、安装tomcat-native
它所依赖openssl-deve,apr-devel,并且准备编译环境
[root@localhost ~]# yum groupinstall -y "Development tools" "Development libraries"
[root@localhost ~]# yum install -y openssl-devel
[root@localhost ~]# yum install -y apr-devel
[root@localhost ~]# cd /usr/local/tomcat/bin/
[root@localhost bin]# tar xvf tomcat-native.tar.gz
[root@localhost bin]# cd tomcat-native-1.1.23-src/jni/native/
[root@localhost native]# ./configure --with-apr=/usr/ --with-ssl --with-java-home=/usr/java/jdk1.7.0_04/
[root@localhost bin]# make && make install
[root@localhost native]# echo "/usr/local/apr/lib" > /etc/ld.so.conf.d/apr.conf
[root@localhost native]# ldconfig
为查看Tomcat运行状态提供用户:
在tomcat_users.xml中添加用户和角色
[root@localhost ~]# vim /usr/local/tomcat/conf/tomcat_users.xml
添加如下内容:
<role rolename="manager-gui" />
<role rolename="manager-scripts" />
<role rolename="manager-status" />
<user username="tomcat" password="135246" roles="manager-gui,manager-scripts,manager-status" />
重启tomcat
[root@localhost ~]# service tomcat stop
点击首页中的"sever status"
<a target="_blank" href="http://blog.51cto.com/attachment/201205/152357539.png"></a>
<a target="_blank" href="http://blog.51cto.com/attachment/201205/152436625.png"></a>
4、为Tomcat提供连接Mysql所需要的jar文件
[root@localhost ~]# tar xvf mysql-connector-java-5.0.8.tar.gz
[root@localhost ~]# cd mysql-connector-java-5.0.8
[root@localhost mysql-connector-java-5.0.8]# mv mysql-connector-java-5.0.8-bin.jar /usr/local/tomcat/lib/
重启tomcat就可以连接mysql了
[root@localhost ~]# service tomcat stop
[root@localhost ~]# service tomcat start
5、配置Tomcat的虚拟主机,提供JavaCenterHome的源代码
[root@localhost mysql]# cd /usr/local/tomcat/webapps
[root@localhost webapps]# mkdir webpage
[root@localhost webapps]# vim ../conf/server.xml
在<Engine> </Engine>标签中添加一个<Host> </Host>标签内容如下
<Host name="www.coolinuz.com" appBase="webapps" unpackWARs="true"autoDeploy="true">
<Context docBase="webpage" path="" />
</Host>
效果如下:
<a target="_blank" href="http://blog.51cto.com/attachment/201205/152938126.png"></a>
提供JavaCenterHome源代码到网页存放目录
[root@localhost ~]# tar xvf JavaCenter_Home_2.0_GBK.tar.bz2
[root@localhost ~]# cd JavaCenter_Home_2.0_GBK
[root@localhost JavaCenter_Home_2.0_GBK]# mv * /usr/local/tomcat/webapps/webpage/
Ps:由于Linux没有安装中文字符集,为达到好的效果,使用win中的Opera浏览器进行测试
重启Tomcat
在浏览器中输入在server.xml中配置的Host标签中的name域名:www.coolinuz.com:8080
<a target="_blank" href="http://blog.51cto.com/attachment/201205/153455202.png"></a>
<a target="_blank" href="http://blog.51cto.com/attachment/201205/153542247.png"></a>
<a target="_blank" href="http://blog.51cto.com/attachment/201205/153554971.png"></a>
<a target="_blank" href="http://blog.51cto.com/attachment/201205/153701986.png"></a>
【完】
本文转自 向阳草米奇 51CTO博客,原文链接:http://blog.51cto.com/grass51/860953,如需转载请自行联系原作者