前言
最近在学习接口测试,需要自己搭建一个基于tomcat容器的测试环境,中间遇到不少问题,记录一下,以供参考。
事前准备
本次测试环境选择搭建在Linux下,需要事先准备的有:
- Windows 操作系统
- CentOS 6操作系统或其他Linux操作系统
- Xshell 6或其他SSH连接工具
- Xftp 6或其他FTP传输工具
配置JDK
Tomcat运行需要JDK的支持,所以第一步需要安装JDK,并配置环境变量:
- 下载JDK 。由于官网上需要账号登录,这里选择去https://jdk.java.net/java-se-ri/8下载
- 下载完后用Xftp将文件上传到CentOS的/usr/local目录下;
- 使用Xshell连接上CentOS,进入到/usr/local目录下,运行命令
tar xzf openjdk-8u40-b25-linux-x64-10_feb_2015.tar.gz
解压,为了方便,重命名:
mv java-se-8u40-ri jdk1.8.0_40
- 配置环境变量。运行
vim /etc/profile
在最后面加入:
export JAVA_HOME=/usr/local/jdk1.8.0_40
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
注意Linux中分隔符是:
,并且CLASSPATH的.
不能丢;
- 然后运行
source /etc/profile
重新加载配置;
- 检查是否配置成功。
java -version
若出现版本信息则说明配置成功:
安装Tomcat
- 下载Tomcat。进入https://tomcat.apache.org/download-90.cgi。
- 下载完成后同样用Xftp传到CentOS的/usr/local目录,使用Xshell运行
tar xzf apache-tomcat-9.0.27.tar.gz
为了方便,重命名
mv apache-tomcat-9.0.27 tomcat
- 检查是否安装成功。进入到Tomcat的bin目录下运行
./startup.sh
然后等待一会,打开浏览器,进入http://Linux主机ip:8080
如果能看到小猫咪,说明搭建成功。
配置Tomcat开机自启动
每次关机重启都需要手动到Tomcat目录下运行startup.sh
,有点麻烦,可以配置Tomcat开机自启。参考博文https://blog.csdn.net/weixin_42336774/article/details/85885322
- 修改脚本文件rc.local:
vim /etc/rc.d/rc.local
这个脚本是使用者自定的开机启动程序,可以在里面添加想在系统启动之后执行的脚本或者脚本执行命令
2. 添加如下内容:
export JAVA_HOME=/usr/local/jdk1.8.0_40
/usr/local/tomcat/bin/startup.sh start
- esc 退出编辑,:wq 保存修改
- 将rc.local修改为可执行
chmod 777 /etc/rc.d/rc.local
遇到问题
-
修改环境变量后运行命令提示:bash: xxx : command not found
这是由于环境变量配置错误导致的,检查PATH变量有没有带上$PATH
,如果没有带上的话,就会覆盖以前的环境变量,导致这种情况。 -
运行
./startup.sh
后,访问Tomcat首页还是看不到小猫咪
这可能是由于默认的8080端口被占用导致的,运行netstat -ntpl|grep 8080
检查是否被其他程序占用。如果被占用了的话就打开Tomcat下的/conf/server.xml,
vim tomcat/conf/server.xml
,找到8080端口修改为8081或其他未被占用的端口。 -
端口没有被占用,或者修改端口后进入首页还是看不到小猫咪,页面显示空白
这可能就是因为是防火墙的限制导致的。参考https://blog.csdn.net/qq_35193093/article/details/80860977在旧的CentOS版本中关闭防火墙等服务的命令是
service iptables stop /etc/init.d/iptables stop
在CentOS 8中,其实没有这个服务,是使用systemctl工具来管理服务程 序,包括了service和chkconfig
CentOS 8关闭防火墙:systemctl stop firewalld.service