前提:已在虚拟机安装CentOS7和SSH Secure Shell Client下
1.先自行下载 apache-tomcat-9.0.0.tar.gz 文件,(注意下载的格式是 .tar.gz)
2.使用SSH Secure Shell Client且解压 apache-tomcat-9.0.0.tar.gz 到 /usr/local:tar -xvf apache-tomcat-9.0.0.tar.gz -C /usr/local
3.在 /usr/local 下会看到一个名为 apache-tomcat-9.0.0的文件夹,修改它的名字,使其简短些:
mv apache-tomcat-9.0.0 tomcat
4.打开文件 /etc 目录下的 profile 文件:vi /etc/profile
5.将如下代码追加到 profile 文件末尾:
# idea - tomcat9 config start - 2016-05-01
CATALINA_HOME=/usr/local/tomcat
CATALINA_BASE=/usr/local/tomcat
PATH=$PATH:$CATALINA_BASE/bin
export PATH CATALINA_BASE
# idea - tomcat9 config end - 2016-05-01
保持并推出:wq!
6.修改 tomcat 的端口号和字符编码(端口可选改),进入到 /usr/local/tomcat/conf 目录中:
cd /usr/local/tomcat/conf
7.打开 tomcat 服务的配置文件 server.xml:vi server.xml
找到如下代码:
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
将其中的 8080 改成 HTTP 协议的默认端口 80,改后的代码如下:
<Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8" />
8.进入到 /usr/local/tomcat/bin 目录中:cd ../bin/
9.打开catalina.sh 文件:vi catalina.sh
在 # OS specific support. 前面加入如下代码:
JAVA_HOME=/usr/local/jdk/jdk1.8.0_91
JRE_HOME=$JAVA_HOME/jre
键入 Esc 并输入“:wq!”保持并退出;
10.启动 tomcat 服务:./startup.sh
打印如下信息则表明启动 Tomcat 服务成功:
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr/local/jdk1.8.0_91/jre
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.
打开浏览器输入 IP 地址看看吧!如果出现了我们的可爱的“小黄猫”则表明我们的 Tomcat 已提供服务啦!
11.关闭 tomcat 服务:./shutdown.sh
打印如下信息则表明关闭 Tomcat 服务成功:
Using CATALINA_BASE: /usr/local/tomcat/apache-tomcat-9.0.0.M4
Using CATALINA_HOME: /usr/local/tomcat/apache-tomcat-9.0.0.M4
Using CATALINA_TMPDIR: /usr/local/tomcat/apache-tomcat-9.0.0.M4/temp
Using JRE_HOME: /usr/local/jdk/jdk1.8.0_91/jre
Using CLASSPATH: /usr/local/tomcat/apache-tomcat- 9.0.0.M4/bin/bootstrap.jar:/usr/local/tomcat/apache-tomcat-9.0.0.M4/bin/tomcat-juli.jar
注意:不可连续执行多次 ./shutdown.sh 命令,多次后报如下错误:
SEVERE: Catalina.stop:
java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
at ..................
12.将 tomcat9 加入到系统服务列表中
进入到 /etc/init.d 目录中:cd /etc/init.d
13.创建 tomcat9 服务配置文件:vi tomcat9
将如下代码加入写入到 tomcat9 配置文件中(#内容也需要写,不要会报tomcat 服务不支持 chkconfig的错):
# idea - tomcat config start - 2016-05-01
#!/bin/bash
# description: Tomcat Start Stop Restart
# processname: tomcat
# chkconfig: 2345 20 80
JAVA_HOME=/usr/local/jdk/jdk1.8.0_91/
export JAVA_HOME
PATH=$JAVA_HOME/bin:$PATH
export PATH
CATALINA_HOME=/usr/local/tomcat/apache-tomcat-9.0.0.M4/
case $1 in
start)
sh $CATALINA_HOME/bin/startup.sh
;;
stop)
sh $CATALINA_HOME/bin/shutdown.sh
;;
restart)
sh $CATALINA_HOME/bin/shutdown.sh
sh $CATALINA_HOME/bin/startup.sh
;;
esac
exit 0
#chmod 755 tomcat
#chkconfig --add tomcat
#chkconfig --level 2345 tomcat on
#chkconfig --list tomcat
# idea - tomcat config end - 2016-05-01
键入 Esc 并输入“:wq!”保持并退出;
其中的注意点是将 JAVA_HOME 和 CATALINA_HOME 变量设置成与我们当前配置相一致的路径
14.为 tomcat9 分配可执行权限:chmod +x tomcat9
15.将 tomcat9 纳入到系统的服务列表中,即添加 tomcat9 为系统服务(这里可能会出现Unit iptables.service could not be found,原因是CentOS7默认的防火墙不是iptables,而是firewalle,所以得先停止禁用firewalld服务,再安装iptables-services。):chkconfig --add tomcat9
16.查看当前系统服务都有哪些:chkconfig --list
也可以查看指定的系统服务,如这里我们指定 tomcat9 这个服务:
chkconfig --list tomcat9
打印如下信息:
tomcat9 0:off 1:off 2:on 3:on 4:on 5:on 6:off
则表明已将 tomcat9 设置为系统服务,2、3、4、5 都为 on 表示可随系统自动启动
17.我们可以在任意目录下执行关闭、启动、重启 Tomcat9 服务啦:
关闭 tomcat9 服务:service tomcat9 stop
启动 tomcat9 服务:service tomcat9 start
重启 tomcat9 服务:service tomcat9 restart
后记:
linux 系统中的 /etc 目录表示“设备”,意为与硬件设备相关的信息;
/etc/init.d 目录下的文件表示当前设备的初始化配置信息;
命令 chkconfig 表示添加(--add)、删除(--del)、查看(--list)系统服务