注意,下面只是展示步骤,其中具体路径不一定正确
1.下载
wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-9/v9.0.13/bin/apache-tomcat-9.0.13.tar.gz
2.安装
解压压缩包: tar -zxvf apache-tomcat-8.0.32.tar.gz
移动解压文件到 mv apache-tomcat-8.0.32/ /usr/local/
为方便起见,可以使用 mv /usr/local/apache-tomcat-8.0.32/ /usr/local/tomcat8-9001 修改目录名称
3.打开防火墙端口,并重启(nginx做了代理,这步跳过)
firewall-cmd --zone=public --add-port=80/tcp --permanent
重启防火墙
firewall-cmd --reload
4.修改端口号
vim conf/server.xml ,找到8080,修改成9001
5.Tomcat配置
注意,如果需要在该环境下配合idea调试,则不能用setenv.sh这个方法,加上了的话,不能加载启动的项目。血泪教训~~o(>_<)o ~~
catalina.sh在执行的时候会调用同级路径下的setenv.sh来设置额外的环境变量,因此在/opt/tomcat/bin路径下创建setenv.sh文件,内容如下:
export CATALINA_HOME=/opt/tomcat
export CATALINA_BASE=/opt/tomcat
#设置Tomcat的PID文件
CATALINA_PID="$CATALINA_BASE/tomcat.pid"
#添加JVM选项
JAVA_OPTS="-server -XX:PermSize=256M -XX:MaxPermSize=1024m -Xms512M -Xmx1024M -XX:MaxNewSize=256m"
6.安全设置
7.设置成开机启动
1. 编写tomcat.service文件
在/usr/lib/systemd/system路径下添加tomcat.service文件,内容如下:
[Unit]
Description=Tomcat
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
# 这里指定以哪个用户启动服务
User=wanted_user
Type=forking
PIDFile=/usr/local/tomcat9-9001/tomcat.pid
ExecStart=/usr/local/tomcat9-9001/bin/startup.sh
ExecReload=/usr/local/tomcat9-9001/bin/kill -s HUP $MAINPID
ExecStop=/usr/local/tomcat9-9001/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
##[unit]配置了服务的描述,规定了在network启动之后执行,
##[service]配置服务的pid,服务的启动,停止,重启
##[install]配置了使用用户
2.系统服务设置
systemctl enable tomcat.service #设置成开机启动
systemctl disable tomcat.service #取消开机启动
systemctl start tomcat.service
systemctl stop tomcat.service #停止服务
systemctl restart tomcat.service
8.配置多tomcat
1.修改profile,配置多环境变量vim /etc/profile
export CATALINA_HOME2=/usr/local/apache-tomcat-7.0.792
export CATALINA_BASE2=/usr/local/apache-tomcat-7.0.792
export TOMCAT_HOME2=/usr/local/apache-tomcat-7.0.792
2. 修改tomcat的配置(第一个不用修改,下同)
$ vim /usr/local/apache-tomcat-7.0.792/bin/catalina.sh (修改这个文件,添加如下内容)
------------------------------------------------------------------
export CATALINA_BASE=$CATALINA_BASE2
export CATALINA_HOME=$CATALINA_HOME2
-------------------------------------------------------------------
3.修改同目录下的setenv.sh文件(三处)
vim setenv.sh
4. 修改tomcat监听的端口,避免端口占用重复无法启动。
$ vim /usr/local/apache-tomcat-7.0.792/conf/server.xml (修改配置文件,修改以下内容)
----------------------------------------------------------------------------------------------------------
<Server port="8005" shutdown="SHUTDOWN"> #8005修改成8006
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> #8080修改成8081
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> #8009修改成8010
5.配置自启动以及添加到系统服务
6。修改startup.sh文件,使其执行正确的启动位置(这个是我用的这个启动模式不同)
9指定运行的账户(这种方式适合多tomcat,单个详见 "配置开机自启动")
新建用户tomcat,该用户不能登录
-
useradd tomcat -s '/sbin/nologin'
-
chown -R tomcat:tomcat /usr/local/tomcat/
-
chmod -R 744 /usr/local/tomcat
-
# 判断用户是否存在
-
ret=`id -u tomcat >& /dev/null`
-
if [ $? -ne 0 ];then
-
echo "not exist"
-
fi
将/usr/local/tomcat/bin/startup.sh、shutdown.sh更名
-
mv /usr/local/tomcat/bin/startup.sh /usr/local/tomcat/bin/startup_.sh
-
mv /usr/local/tomcat/bin/shutdown.sh /usr/local/tomcat/bin/shutdown_.sh
新建脚本startup.sh、shutdown.sh
-
# startup.sh
-
#!/bin/bash
-
usermod -s /bin/bash tomcat
-
su - tomcat -c /usr/local/tomcat_web/bin/startup_.sh
-
usermod -s /sbin/nologin tomcat
-
# shutdwon.sh
-
#!/bin/bash
-
usermod -s /bin/bash tomcat
-
su - tomcat -c /usr/local/tomcat_web/bin/shuwdown_.sh
-
usermod -s /sbin/nologin tomcat
更改新建的文件的权限
参考原文:https://blog.csdn.net/our_sky/article/details/51362676