本文详细介绍如何在轻量服务器上,使用华为云镜像站快速下载和配置Tomcat 8,并配置systemd服务管理。
环境准备
系统要求
- 操作系统:CentOS 7/8 或 Ubuntu 18.04+
- 内存:至少1GB
- 磁盘空间:至少2GB可用空间
软件要求
- JDK 1.8+(Tomcat 8要求)
完整安装步骤
1. 安装 JDK 1.8
bash
# CentOS/RHEL
sudo yum install -y java-1.8.0-openjdk-devel
# Ubuntu/Debian
sudo apt update
sudo apt install -y openjdk-8-jdk
验证安装:
bash
java -version
# 应该显示:java version "1.8.0_xxx"
2. 从华为云镜像站下载 Tomcat 8
bash
# 进入安装目录
cd /opt
# 从华为云镜像站下载 Tomcat 8
sudo wget https://mirrors.huaweicloud.com/apache/tomcat/tomcat-8/v8.5.96/bin/apache-tomcat-8.5.96.tar.gz
# 如果版本不可用,查看最新版本
sudo wget -q -O - https://mirrors.huaweicloud.com/apache/tomcat/tomcat-8/ | grep -o 'v8\.5\.[0-9]*/' | sort -V | tail -1
3. 解压和配置
bash
# 解压 Tomcat
sudo tar -xzf apache-tomcat-8.5.96.tar.gz
# 重命名并移动到目标目录
sudo mv apache-tomcat-8.5.96 tomcat8
# 删除压缩包
sudo rm -f apache-tomcat-*.tar.gz
4. 创建专用用户和设置权限
bash
# 创建系统用户
sudo useradd -r -m -U -d /opt/tomcat8 -s /bin/false tomcat
# 设置目录所有权
sudo chown -R tomcat:tomcat /opt/tomcat8
# 给执行脚本添加权限(关键步骤!)
sudo chmod +x /opt/tomcat8/bin/*.sh
# 创建必要的目录
sudo mkdir -p /opt/tomcat8/temp
sudo mkdir -p /opt/tomcat8/logs
sudo chown tomcat:tomcat /opt/tomcat8/temp
sudo chown tomcat:tomcat /opt/tomcat8/logs
5. 配置 Systemd 服务
创建服务文件:
bash
sudo nano /etc/systemd/system/tomcat.service
使用以下配置:
ini
[Unit]
Description=Apache Tomcat Web Application Container
After=network.target
[Service]
Type=simple
User=tomcat
Group=tomcat
Environment=CATALINA_HOME=/opt/tomcat8
Environment=CATALINA_BASE=/opt/tomcat8
ExecStart=/opt/tomcat8/bin/catalina.sh run
ExecStop=/opt/tomcat8/bin/catalina.sh stop
Restart=always
[Install]
WantedBy=multi-user.target
重要注意事项
1. 权限问题排查
如果启动失败,检查以下权限:
bash
# 检查脚本执行权限
ls -la /opt/tomcat8/bin/*.sh
# 应该显示:-rwxr-xr-x
# 检查目录权限
ls -la /opt/tomcat8/
# tomcat用户应该拥有所有文件
2. 环境变量配置(可选但推荐)
创建环境变量文件:
bash
sudo nano /opt/tomcat8/bin/setenv.sh
添加:
bash
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
export CATALINA_PID=/opt/tomcat8/temp/tomcat.pid
设置权限:
bash
sudo chmod +x /opt/tomcat8/bin/setenv.sh
sudo chown tomcat:tomcat /opt/tomcat8/bin/setenv.sh
3. 激活并测试服务
bash
# 重新加载systemd配置
sudo systemctl daemon-reload
# 启动Tomcat服务
sudo systemctl start tomcat
# 设置开机自启
sudo systemctl enable tomcat
# 检查服务状态
sudo systemctl status tomcat
4. 防火墙配置
bash
# CentOS 7
sudo firewall-cmd --permanent --add-port=8080/tcp
sudo firewall-cmd --reload
# CentOS 8
sudo firewall-cmd --add-port=8080/tcp --permanent
sudo firewall-cmd --reload
# Ubuntu
sudo ufw allow 8080/tcp
sudo ufw reload
验证安装
1. 检查服务状态
bash
sudo systemctl status tomcat
# 应该显示:Active: active (running)
2. 检查端口监听
bash
netstat -tlnp | grep 8080
# 或者使用:
ss -tlnp | grep 8080
3. 访问测试
在浏览器中访问:
http://你的服务器IP:8080
应该看到Tomcat 8的欢迎页面。
故障排除
常见问题1:启动失败 status=203/EXEC
bash
# 解决方案:修复脚本权限
sudo chmod +x /opt/tomcat8/bin/*.sh
sudo systemctl daemon-reload
sudo systemctl restart tomcat
常见问题2:权限被拒绝
bash
# 解决方案:重新设置所有权
sudo chown -R tomcat:tomcat /opt/tomcat8
常见问题3:端口被占用
bash
# 检查端口占用
netstat -tlnp | grep 8080
# 杀死占用进程或修改Tomcat端口
sudo nano /opt/tomcat8/conf/server.xml
查看日志
bash
# 查看Tomcat日志
sudo tail -f /opt/tomcat8/logs/catalina.out
# 查看systemd日志
sudo journalctl -u tomcat.service -f
管理命令
bash
# 启动服务
sudo systemctl start tomcat
# 停止服务
sudo systemctl stop tomcat
# 重启服务
sudo systemctl restart tomcat
# 查看状态
sudo systemctl status tomcat
# 查看日志
sudo journalctl -u tomcat.service -n 50
项目部署
将WAR文件部署到Tomcat:
bash
# 复制WAR文件到webapps目录
sudo cp your-app.war /opt/tomcat8/webapps/
# 设置权限
sudo chown tomcat:tomcat /opt/tomcat8/webapps/your-app.war
# 重启Tomcat
sudo systemctl restart tomcat