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 服务。

相关推荐
姜鱼问生1 小时前
Nginx 缓存命中率监控:从 X-Cache-Status 到实时统计
运维·nginx·缓存
Apipi*2 小时前
30天速通Linux 第六章信号及信号处理
linux·运维·信号处理
天启HTTP3 小时前
爬虫防封核心原理:IP轮换机制与风控规避逻辑
linux·服务器·网络·爬虫·tcp/ip
运维行者_3 小时前
网络性能监控怎么做?从自动发现到根因分析的4个环节
运维·服务器·网络·人工智能·支持向量机
此时不提桶,更待何时4 小时前
06-14-A-Kafka集群运维与迁移实战详解
运维·kafka
广州浮点FLOATLIC5 小时前
许可证服务器迁移后软件打不开:研发 IT 怎样定位连接问题
linux·服务器·数据库
IT研究所5 小时前
AI-ITR平台如何减少客户问题反复升级?
大数据·运维·人工智能·低代码·自然语言处理·安全架构·企微
BLUcoding6 小时前
接口服务公网超时排查记录:SecureRandom 阻塞问题分析与解决
java·linux·springboot·aes·securerandom
AIgorithmGEEK6 小时前
[Linux]从手写报头到内核套路:序列化、反序列化与自定义协议全链路
linux·运维·服务器·网络·序列化·反序列化
Nil2086 小时前
leetcode 139单词拆分
linux·运维·服务器