centos 7.9安装tomcat,并实现开机自启

1、先安装jdk

这里以open-jdk11为例

复制代码
sudo yum install java-11-openjdk-devel -y

验证jdk的安装

复制代码
java -version
javac -version

确认输出显示安装了正确的 Java 版本。

2、创建 Tomcat 用户和组

创建一个专门用于运行 Tomcat 的系统用户,提高安全性。

复制代码
sudo groupadd tomcat
sudo useradd -M -s /bin/nologin -g tomcat tomcat
  • -M: 不创建家目录。
  • -s /bin/nologin: 禁止该用户登录 shell。
  • -g tomcat: 将该用户加入 tomcat 组。

3、下载并配置 Tomcat

将把 Tomcat 安装到 /opt/tomcat 目录下。

复制代码
cd /opt

4、下载tomcat包

访问官网,找到对应的版本进行下载,放到opt下,然后开始解压

复制代码
sudo tar -xf apache-tomcat-9.0.87.tar.gz

sudo mv apache-tomcat-9.0.87 tomcat

将 Tomcat 目录的所有权授予 tomcat 用户和组,并确保脚本可执行。

复制代码
sudo chown -R tomcat:tomcat /opt/tomcat
sudo sh -c 'chmod +x /opt/tomcat/bin/*.sh'

配置防火墙

Tomcat 默认监听 8080 端口。需要开放此端口以便外部访问。

复制代码
sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
sudo firewall-cmd --reload

5、创建 Systemd 服务实现开机自启

创建服务文件:

复制代码
sudo vi /etc/systemd/system/tomcat.service

粘贴以下内容到文件中:

(请注意 JAVA_HOME 的路径,确保与您安装的 Java 版本路径一致。如果安装的是 OpenJDK 1.8,通常路径是 /usr/lib/jvm/java-1.8.0-openjdk/usr/lib/jvm/jre-1.8.0-openjdk;如果是 OpenJDK 11,则是 /usr/lib/jvm/java-11-openjdk。)

复制代码
[Unit]
Description=Apache Tomcat Web Application Server
After=network.target

[Service]
Type=forking
User=tomcat
Group=tomcat
Environment=JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
# 如果您安装的是 Java 11,请修改为:
# Environment=JAVA_HOME=/usr/lib/jvm/java-11-openjdk
Environment=CATALINA_PID=/opt/tomcat/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
RestartSec=10
Restart=always

[Install]
WantedBy=multi-user.target

重新加载 Systemd 配置:

复制代码
sudo systemctl daemon-reload

启动 Tomcat 服务:

复制代码
sudo systemctl start tomcat

检查 Tomcat 服务状态:

复制代码
sudo systemctl status tomcat

设置 Tomcat 开机自启:

复制代码
sudo systemctl enable tomcat

这会在系统启动时自动启动 Tomcat 服务。

相关推荐
破刺不会编程2 小时前
socket编程UDP
linux·运维·服务器·网络·c++·网络协议·udp
ayaya_mana3 小时前
Nginx性能优化与安全配置:打造高性能Web服务器
运维·nginx·安全·性能优化
NEXU58 小时前
Linux:套接字
linux·服务器·网络
我不要放纵9 小时前
docker
运维·docker·容器
morliz子轩9 小时前
基于WSL搭建Ubuntu 22.04.x LTS开发环境
linux·运维·ubuntu
BJ_Bonree9 小时前
数智先锋 | 告别运维黑盒!豪鹏科技×Bonree ONE构建全栈智能可观测体系
运维·科技
Janspran10 小时前
嵌入式linux学习 -- 进程和线程
linux·运维·学习
Cosmoshhhyyy10 小时前
linux远程部署dify和mac本地部署dify
linux·运维·macos
路多辛12 小时前
Debian新一代的APT软件源配置文件格式DEB822详解
linux·运维·ubuntu·debian
-VE-12 小时前
Linux线程控制
linux