我们在CentOS操作系统的环境下往往需要部署多个项目,而且每个项目的使用的JDK版本可能都不同,并且每个项目的端口也是不同的。这时候我们就不能和往常一样去配置系统的环境变量了。
这里我先说我要完成的内容:我想在CentOS下使用tomcat7+JDK1.7部署一套项目使用的端口是8090
在使用tomcat8+JDK1.8部署类外一套项目使用端口是9090
第一步:我分别在home下创建tomcat和JDK文件,分别上传
apache-tomcat-7.0.90.tar.gz
apache-tomcat-8.5.32.tar.gz
jdk-7u79-linux-x64.tar.gz
jdk-8u181-linux-x64.tar.gz
这四个文件
如图:
第二步:分别解压安装后,我们需要修改tomcat的bin目录下的 catalina.sh 文件
在如图位置添加内容
这里是tomcat7下的catalina.sh 文件添加的内容,tomcat8对应添加jdk1.8就可以了。
第三步:修改tomcat的conf目录下的 server.xml文件,来修改我们tomcat的访问端口号
修改方法入下图所示。
在同一服务器下启动多个tomcat需要改变tomcat的端口号
<?xml version='1.0' encoding='utf-8'?>
<Server port="8005" shutdown="SHUTDOWN">
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
<Listener className="org.apache.catalina.core.JasperListener" />
<Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
<Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />
<GlobalNamingResources>
<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users.xml" />
</GlobalNamingResources>
<Service name="Catalina">
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
<Engine name="Catalina" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.LockOutRealm">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
</Realm>
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
</Engine>
</Service>
</Server>
我们需要更改一下几个地方
第四步:我们配置tomcat作为系统的启动项就可以了。
#!/bin/bash
#
# tomcat startup script for the Tomcat server
#
#
# chkconfig: 345 80 20
# description: start the tomcat deamon
#
# Source function library
. /etc/rc.d/init.d/functions
prog=tomcat8
JAVA_HOME=/usr/java/jdk1.8.0_151/ #这里写入tomcat使用的jdK绝对路径
export JAVA_HOME
CATALANA_HOME=/usr/local/tomcat/ #这里写作为启动项的tomcat绝对路径
export CATALINA_HOME
case "$1" in
start)
echo "Starting Tomcat..."
$CATALANA_HOME/bin/startup.sh
;;
stop)
echo "Stopping Tomcat..."
$CATALANA_HOME/bin/shutdown.sh
;;
restart)
echo "Stopping Tomcat..."
$CATALANA_HOME/bin/shutdown.sh
sleep 2
echo
echo "Starting Tomcat..."
$CATALANA_HOME/bin/startup.sh
;;
*)
echo "Usage: $prog {start|stop|restart}"
;;
esac
exit 0
上面就是我们的脚本。
我们需要将脚本放在系统启动加载项的文件下 就是 /etc/init.d/目录下,
这里需要我们给脚本设置可执行权限 chmod 755 ‘脚本名称’ #赋予权限
service tomcat8 start #启动服务
chkconfig tomcat8 on #服务脚本加入到系统启动队列
chkconfig --list tomcat8 #检查 oracle服务是否已经生效
这时候就完成了我们配置内容。现在重启就可以自动启动我们两个项目了。