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

相关推荐
呉師傅11 分钟前
【使用技巧】Adobe Photoshop 2024调整缩放与布局125%后出现点菜单项漂移问题的简单处理
运维·服务器·windows·adobe·电脑·photoshop
云姜.12 分钟前
线程和进程的关系
java·linux·jvm
heartbeat..14 分钟前
JVM 性能调优流程实战:从开发规范到生产应急排查
java·运维·jvm·性能优化·设计规范
小Tomkk40 分钟前
数据库 变更和版本控制管理工具 --Bytebase 安装部署(linux 安装篇)
linux·运维·数据库·ci/cd·bytebase
赌博羊41 分钟前
ImportError: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32‘ not found
linux·运维·gnu
木卫二号Coding43 分钟前
第七十九篇-E5-2680V4+V100-32G+llama-cpp编译运行+Qwen3-Next-80B
linux·llama
getapi1 小时前
Ubuntu 22.04 服务器的系统架构是否为 amd64 x86_64
linux·服务器·ubuntu
消失的旧时光-19431 小时前
Linux 入门核心命令清单(工程版)
linux·运维·服务器
艾莉丝努力练剑1 小时前
【Linux:文件】Ext系列文件系统(初阶)
大数据·linux·运维·服务器·c++·人工智能·算法
小天源1 小时前
Cacti在Debian/Ubuntu中安装及其使用
运维·ubuntu·debian·cacti