安装

Tomcat 安装前提

  • Tomcat 依赖 JDK ,JDK未安装 则 Tomcat 无法启动

  • [root@centos ~]# startup.sh 
    Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
    At least one of these environment variable is needed to run this program

Tomcat 基于包安装

centos7

  • centos 7 仓库源中自带 Tomcat 7.0 版本,此方式安装版本较低,不推荐

centos8

  • centos 8 仓库中目前没有 Tomcat 相关的 yum 源

Tomcat 二进制安装

Centos

  • 下载地址:https://dlcdn.apache.org/tomcat/tomcat-8/
[root@centos8 ~]# wget https://dlcdn.apache.org/tomcat/tomcat-8/v8.5.78/bin/apache-tomcat-8.5.78.tar.gz

[root@centos8 ~]# tar xf apache-tomcat-8.5.78.tar.gz -C /usr/local/

[root@centos8 ~]# cd /usr/local/

[root@centos8 local]# ln -s /usr/local/apache-tomcat-8.5.78/ tomcat

#指定PATH变量
[root@centos8 ~]# echo 'PATH=/usr/local/tomcat/bin:$PATH' > /etc/profile.d/tomcat.sh
[root@centos8 ~]# . /etc/profile.d/tomcat.sh
[root@centos8 ~]# echo $PATH
/usr/local/tomcat/bin:/usr/local/jdk/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin


#Service File(创建service文件一是方便管理,二是可以让tomcat以tomcat的普通用户启动,更加安全)
----------------------------------------------------------------------------------------
#创建一个 tomcat 账号
[root@centos8 ~]# useradd -u 808 -r -s /sbin/nologin tomcat

#将 tomcat 目录下的文件所有者所属组改为 tomcat
[root@centos8 ~]# chown -R tomcat.tomcat /usr/local/tomcat/

#准备service文件中JDK相关环境文件(编译安装的JDK才需指定)
[root@centos8 ~]# vim /usr/local/tomcat/conf/tomcat.conf
#两个变量至少写一项才能启动tomcat
JAVA_HOME=/usr/local/jdk
#JRE_HOME=/usr/local/jdk/jre

#创建service文件
[root@centos8 ~]# vim /lib/systemd/system/tomcat.service
[Unit]
Description=Apache Tomcat Web Application Container
After=syslog.target network.target

[Service]
Type=forking
EnvironmentFile=/usr/local/tomcat/conf/tomcat.conf #yum或apt安装的openjdk此行注释即可
ExecStart=/usr/local/tomcat/bin/startup.sh
ExecStop=/usr/local/tomcat/bin/shutdown.sh
User=tomcat
Group=tomcat

[Install]
WantedBy=multi-user.target

#测试
[root@centos8 ~]# systemctl daemon-reload
[root@centos8 ~]# systemctl enable --now tomcat.service

Ubuntu

  • 下载地址:https://dlcdn.apache.org/tomcat/tomcat-8/
root@ubuntu:/usr/local/src# ls
apache-tomcat-8.5.71.tar.gz

root@ubuntu:/usr/local/src# tar xf apache-tomcat-8.5.71.tar.gz -C /apps

root@ubuntu:/usr/local/src# cd /apps/

root@ubuntu:/apps# ln -s apache-tomcat-8.5.71/ tomcat

#指定PATH变量
root@ubuntu:/apps# ln -s apache-tomcat-8.5.71/ tomcat
root@ubuntu:/apps# echo 'PATH=/apps/tomcat/bin:$PATH' > /etc/profile.d/tomcat.sh
root@ubuntu:/apps# . /etc/profile.d/tomcat.sh
root@ubuntu:/apps# echo $PATH
/apps/tomcat/bin:/apps/jdk/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin


#Service File(创建service文件一是方便管理,二是可以让tomcat以tomcat的普通用户启动,更加安全)
----------------------------------------------------------------------------------------
#创建一个 tomcat 账号
root@ubuntu:/apps# useradd -u 808 -r -s /sbin/nologin tomcat

#将 tomcat 目录下的文件所有者所属组改为 tomcat
root@ubuntu:/apps# chown -R tomcat.tomcat /apps/tomcat/

#准备service文件中相关环境文件
root@ubuntu:/apps# vim /apps/tomcat/conf/tomcat.conf
#两个变量至少写一项才能启动tomcat
JAVA_HOME=/apps/tomcat/jdk
#JRE_HOME=/apps/tomcat/jdk/jre

#创建service文件
root@ubuntu:/apps# vim /lib/systemd/system/tomcat.service
[Unit]
Description=Apache Tomcat Web Application Container
After=syslog.target network.target

[Service]
Type=forking
EnvironmentFile=/apps/tomcat/conf/tomcat.conf
ExecStart=/apps/tomcat/bin/startup.sh
ExecStop=/apps/tomcat/bin/shutdown.sh
User=tomcat
Group=tomcat

[Install]
WantedBy=multi-user.target

#测试
root@ubuntu:/apps# systemctl daemon-reload
root@ubuntu:/apps# systemctl enable --now tomcat.service

#观察8080端口是否启动
root@ubuntu:/apps# ss -ntl
LISTEN   0    100        *:8080        *:*