CentOS7.6安装apache-tomcat-8.5.34

注:参考本文可架设多用户多服务的Java虚拟主机,即配置tomcat以指定身份运行,且一台服务器上可安装任意多个tomcat服务。

一、环境

CentOS 7.6

java version “1.8.0_191”

apache-tomcat-8.5.34

二、安装jdk

# mkdir -p /usr/java

# tar zxf jdk-8u191-linux-x64.tar.gz -C /usr/java/

# alternatives –config java (注:请留意版本的数量N,然后采用N+1(如果alternatives –config java指令没有输出,你可假设 N=0)。

#alternatives –install /usr/bin/java java /usr/java/jdk1.8.0_191/bin/java 1 # alternatives –install /usr/bin/jar jar /usr/java/jdk1.8.0_191/bin/jar 1 #alternatives –install /usr/bin/javac javac /usr/java/jdk1.8.0_191/bin/javac 1

# java -version

java version “1.8.0_191” Java(TM) SE Runtime Environment (build 1.8.0_191-b12)

Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)

配置环境变量

编辑/etc/profile,添加如下内容:

export JAVA_HOME=/usr/java/jdk1.8.0_191

export JRE_HOME=/usr/java/jdk1.8.0_191/jre

export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

使环境变量生效:source /etc/profile

三、下载并解压Tomcat

下载文件解压到/usr/local目录下

tar zxvf apache-tomcat-8.5.34.tar.gz -C /usr/local

cd /usr/local

ln -s apache-tomcat-8.5.34 tomcat

四、编译安装tomcat daemon服务守候程序

cd /usr/local/tomcat/bin

tar zxvf commons-daemon-native.tar.gz

1、解压后会生成一个commons-daemon-1.1.0-native-src目录,cd到这个目录的Linux子目录 cd commons-daemon-1.1.0-native-src/unix

2、安装gcc(如已安装则忽略)

yum -y install gcc

3、执行编译安装

./configure 注意:需要先安装好make,gcc等编译工具

make

4、执行make后会生成一个jsvc的文件,将其复制到tomcat的bin目录

cp jsvc /usr/local/tomcat/bin

5、在tomcat/bin目录里面有一个daemon.sh 这个文件就是启动和关闭tomcat的服务守候程序

修改daemon环境变量:

vi /usr/local/tomcat/bin/daemon.sh,找到类似下面配置段:

test “.$TOMCAT_USER” = . && TOMCAT_USER=tomcat

# Set JAVA_HOME to working JDK or JRE

# JAVA_HOME=/opt/jdk-1.6.0.22

修改TOMCAT_USER=tomcat为您要指定身份运行的linux账号用户名,此处指定用户名为tomcat。

并把JAVA_HOME=…前面的注释(即“#”号)去掉,并设置为jdk的安装目录路径。修改后的配置段如下:

test “.$TOMCAT_USER” = . && TOMCAT_USER=tomcat

# Set JAVA_HOME to working JDK or JRE JAVA_HOME=/usr/java/jdk1.8.0_191

6、现在修改/usr/local/tomcat目录的所有者为tomcat(即您要指定身份运行的linux帐号):

useradd -M tomcat

chsh tomcat -s /sbin/nologin

chown -R -H tomcat /usr/local/tomcat 因/usr/local/tomcat为符号链接,所以加参数-H,若不是符合链接,无需加参数-H

7、为tomcat/bin/目录下的*.sh添加相应的x权限:

chmod +x /usr/local/tomcat/bin/*.sh

8、现在,可以测试一下daemon是否可以启动运行,启动方式如下:

/usr/local/tomcat/bin/daemon.sh start

curl http://localhost:8080

#测试一下是否启动

9、停止tomcat, 对应的命令为:/usr/local/tomcat/bin/daemon.sh stop

10、添加tomcat为Linux的服务,这时就简单了,只需要创建一个软链到/etc/init.d/目录中即可:

ln -s /usr/local/tomcat/bin/daemon.sh /etc/init.d/tomcat

11、现在就可以用它启动/关闭tomcat了:

/etc/init.d/tomcat start

/etc/init.d/tomcat stop

12、设置tomcat服务开机启动,需要在daemon.sh中增加以下的语句:

#!/bin/sh #这句是原文件里有的,下面的2句是要添加的

# chkconfig: 2345 90 15

# description: Tomcat-en Manager

13、再运行chkconfig命令增加tomcat服务,而达到自启动:

chkconfig –add tomcat

重启机器,测试一下。

附录1:再创建一个tomcat服务(tomcat1)

如果想再创建一个tomcat服务,只需要将/usr/local/tomcat这个目录复制一份,例如: cp -r apache-tomcat-8.5.34 tomcat1

再修改一下tomcat1的端口号(/usr/local/tomcat/conf/server.xml、/usr/local/tomcat1/conf/server.xml中的端口号不能与其它的服务重复)。最后从上面所述第5步开始,创建另一个服务即可。

通过这种方式,您就可以为一台Linux服务器创建任意多个tomcat服务了。最后只需要安装一个前端服务器(例如Nginx或Apache),将不同域名的请求转发到不同的tomcat服务程序就可以了。

(1)将/usr/local/tomcat这个目录复制一份

cp -r apache-tomcat-8.5.34 tomcat1

(2)修改端口号(shutdown、HTTP、AJP),如端口分别修改为8007、8081、8010

vi /usr/local/tomcat1/conf/server.xml

并保存。

(3)修改/usr/local/tomcat1目录的所有者为tomcat

chown -R tomcat /usr/local/tomcat1

(4)为tomcat1/bin/目录下的*.sh添加相应的x权限

chmod +x /usr/local/tomcat1/bin/*.sh

(5)测试一下daemon是否可以启动运行,启动方式如下:

/usr/local/tomcat1/bin/daemon.sh start

curl http://localhost:8081

(6)停止tomcat, 对应的命令为

/usr/local/tomcat1/bin/daemon.sh stop

(7)添加tomcat为Linux的服务,这时就简单了,只需要创建一个软链到/etc/init.d/目录中即可

ln -s /usr/local/tomcat1/bin/daemon.sh /etc/init.d/tomcat1

(8)现在就可以用它启动/关闭tomcat了:

/etc/init.d/tomcat1 start

/etc/init.d/tomcat1 stop

(9)设置tomcat服务开机启动

chkconfig –add tomcat1