Linux下安装Tomcat
1. 要想在Linux下使用Tomcat,就需要先安装JDK
JDK1.8安装教程:https://www.cnblogs.com/mylqm/p/14945382.html
2. 进入Tomcat下载官网,选择tar.gz(pgp,sha512)链接进行下载
官网下载链接:https://tomcat.apache.org/download-90.cgi
3. 下载完成之后,进入linux,输入如下命令上传压缩包
[root@localhost /]# cd /usr/local
[root@localhost java]# rz
4. 解压 apache-tomcat-9.0.12.tar.gz
[root@localhost local]# tar xzf apache-tomcat-9.0.12.tar.gz //解压tomcat
[root@localhost local]# mv apache-tomcat-9.0.12 tomcat9 //重命名为 tomcat9
5、设置Tomcat开机启动
[root@localhost local]# vi /etc/rc.d/rc.local
添加如下代码到 /etc/rc.d/rc.local 中:
注意:1、手动启动 是因为你是用户登陆,用户登陆就会去加载/etc/profile文件中配置的JDK环境,这个时候你就能启动tomcat
2、开机启动 它先读取启动文件配置,你必须在系统识别用户前加载/etc/profile文件中配置的JDK环境,tomcat才能在开机时启动
source /etc/profile
/usr/local/tomcat9/bin/startup.sh
6. 配置环境
[root@localhost local]# vi /etc/profile
在文件末尾添加tomcat环境变量
export JAVA_HOME=/usr/local/java/jdk1.8.0_291 export JRE_HOME=${JAVA_HOME}/jre export CATALINA_HOME=/usr/local/tomcat9 //tomcat环境变量 export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin:${CATALINA_HOME}/bin export PATH=$PATH:${JAVA_PATH}
7. 执行profile文件,这样可以使配置不用重启即可立即生效
[root@localhost java]# source /etc/profile
8. 修改Tomcat端口
进入conf文件夹 vi server.xml 编辑配置文件
<Connector port="8088" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
这种修改对于8080端口冲突是可以解决的,但是如果想同时使用两个tomcat,那么这样的修改还不完整,因为还有其它的端口会冲突。我们仍需要继续修改
<Connector port="8089" protocol="AJP/1.3" redirectPort="8443" /> <Server port="8085" shutdown="SHUTDOWN">
9. 进入到 /usr/local/tomcat9/bin目录下,启动Tomcat
[root@localhost /]# cd /usr/local/tomcat9/bin //进入到tomcat9的bin目录下 [root@localhost bin]# ./startup.sh //启动Tomcat
当看到Tomcat started,则表示Tomcat已经启动成功
10. 查询端口是否有进程守护用如下命令grep对应端口,如8088为端口号
netstat -nalp|grep 8088
11. 防火墙
#停止firewall
systemctl stop firewalld.service
#开启firewall
systemctl start firewalld.service
#禁止firewall开机启动
systemctl disable firewalld.service
#查看默认防火墙状态(关闭后显示not running,开启后显示running)
firewall-cmd --state
但是开启防火墙,可能报这个错
Failed to start firewalld.service: Unit firewalld.service is masked.
可以尝试输入下面命令看是否能解决,如果无法解决也可以选择关闭防火墙
systemctl unmask firewalld.service