对于apache开源项目中tomcat的认识,大多停留在windows下,这次我通过一个简单的实例来介绍一下在linux下如何搭建tomcat环境,并且部署一个web项目。
先从基本安装开始,可别小看linux下的文件安装,那可不是windows下点击next就可以完成,但也并不复杂,重要的是我们学会怎么用快速理解和掌握它,那么一切就变得容易多了,开始吧,当然在安装部署tomcat之前必须先安装好jdk1.6的环境,具体见上一遍博客linux下jdk的安装。
1、先从Apache的官方网站下载下来tomcat6.0系列的文件,http://www.apache.org/tomcat/在这里找到Tomcat6.0的linux安装文件,它跟windows是不一样的,在官网上有相应的说明,linux版的tomcat是需要编译源代码的文件,如下载下来的文件为:apache-tomcat-6.0.30.zip
2、将下载的文件通过ftp传输到linux中,这里我推荐远程连接工具SSH,linux远程连接工具比较多。
3、解压apache-tomcat-6.0.30.zip,命令为:unzip apache-tomcat-6.0.30.zip得到apache-tomcat-6.0.30这个目录,将目录拷贝到/opt/,然后为了方便改名为/opt/tomcat即可。
4、修改环境变量,将一下的变量配置放在之前配置jdk环境变量的后面即可,如下:
在目录/etc下修改profile文件,使用命令为:vi /etc/profile
export CATALINA_HOME=/opt/tomcat
export CLASSPATH=.:$JAVA_HOME/lib:$CATALINA_HOME/lib
export PATH=$PATH:$CATALINA_HOME/bin
配置完成之后执行命令:source /etc/profile,如果没有提示错误,证明配置ok
可以通过echo $CLASSPATH来查看环境配置
5、启动tomcat服务
将目录切换到opt/tomcat/bin执行sh catalina.sh,提示信息如下:
The BASEDIR environment variable is not defined correctly
This environment variable is needed to run this program
通过情况配置完成之后就会报此类错误提示,该提示表示bin目录下相关.sh后缀文件没有执行权限,使用命令chmod +x *.sh来给所有的.sh文件以执行权限,
再执行sh catalina.sh或者sh startup.sh,便提示如下信息表示配置ok:
Using CATALINA_BASE: /opt/tomcat
Using CATALINA_HOME: /opt/tomcat
Using CATALINA_TMPDIR: /opt/tomcat/temp
Using JRE_HOME: /usr/jdk1.6.0_23
Using CLASSPATH: /opt/tomcat/bin/bootstrap.jar
6、查看tomcat的服务端口8080
命令:netstat -ntl | grep 8080,提示正常,在从windows客户端使用tenlet ip 8080看看什么情况,结果提示端口没有被开启,继续检查防火墙如下:
找到/etc/sysconfig/,vi iptables 在该防火墙配置文件中加入开放8080端口的配置如下:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
还有一种方法就是关闭防火墙,命令为:service iptables stop即可。
7、在客户端访问tomcat首页
http://localhost:8080/如果正常显示tomcat首页表明配置ok。
8、部署一个web项目
将文件为ssh2.war的包上传到opt/tomcat/webapps目录下,然后重启tomcat,如下命令:./catalina.sh run,部署ssh2.war并启动tomcat
在客户端输入http://localhost:8080/ssh2,显示登录页面表明项目部署成功。
通过以上简单的对tomcat的安装和部署进行介绍,并将安装部署过程遇到的问题也都详细的列举了,如果只看不练的话,总归只是看到的,我也是动手自己操作了一遍总归了如上的过程。作为一个测试人员,搭建测试环境是我们工作过程不可或缺的一项,而且当前以linux的影响力来说,大部分web服务都将在linux下部署,基于性能和安全性等等方面,这都是一个发展趋势,所以多研究linux的知识将会大大提高我们的各项技能。