在 TencentOS Server 3.1(基于 CentOS/RHEL 的国产操作系统)中部署 Java Web 应用,通常涉及以下步骤:安装 Java 环境、配置 Web 容器(如 Tomcat)、部署应用,并确保服务可访问。以下是详细的操作指南:
✅ 一、准备工作
-
登录系统
使用 SSH 登录到你的 TencentOS Server 3.1 服务器。 -
更新系统软件包
sudo dnf update -y注:TencentOS Server 3.1 使用
dnf或yum包管理器,具体取决于版本。
✅ 二、安装 Java 运行环境(JDK)
Java Web 应用需要 JDK 支持,推荐使用 OpenJDK。
方法一:通过 DNF 安装 OpenJDK(推荐)
# 安装 OpenJDK 11(稳定且广泛支持)
sudo dnf install java-11-openjdk-devel -y
# 验证安装
java -version
javac -version
输出示例:
openjdk version "11.0.15" 2022-04-19
方法二:手动安装 Oracle JDK 或 OpenJDK 压缩包(可选)
- 下载 JDK(例如从 Oracle 或 Adoptium)
- 解压并配置环境变量:
tar -xzf jdk-17_linux-x64_bin.tar.gz -C /opt/ - 编辑
/etc/profile添加:export JAVA_HOME=/opt/jdk-17 export PATH=$JAVA_HOME/bin:$PATH - 生效配置:
source /etc/profile
✅ 三、安装并配置 Tomcat(Web 容器)
Tomcat 是常用的 Java Web 应用容器。
1. 下载并安装 Tomcat
cd /tmp
wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.88/bin/apache-tomcat-9.0.88.tar.gz
sudo mkdir /opt/tomcat
sudo tar -xzf apache-tomcat-9.0.88.tar.gz -C /opt/tomcat --strip-components=1
2. 创建系统用户运行 Tomcat(安全建议)
sudo useradd -r -s /sbin/nologin tomcat
sudo chown -R tomcat:tomcat /opt/tomcat
3. 配置 systemd 服务
创建服务文件:
sudo vi /etc/systemd/system/tomcat.service
内容如下:
[Unit]
Description=Apache Tomcat 9
After=network.target
[Service]
Type=forking
User=tomcat
Group=tomcat
Environment="JAVA_HOME=/usr/lib/jvm/java-11-openjdk"
Environment="CATALINA_HOME=/opt/tomcat"
Environment="CATALINA_BASE=/opt/tomcat"
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
Restart=on-failure
[Install]
WantedBy=multi-user.target
注意:
JAVA_HOME路径根据实际安装路径调整,可通过readlink -f $(which java)查找。
4. 启动并启用 Tomcat
sudo systemctl daemon-reload
sudo systemctl start tomcat
sudo systemctl enable tomcat
5. 检查状态
sudo systemctl status tomcat
6. 开放防火墙端口(默认 8080)
sudo firewall-cmd --permanent --add-port=8080/tcp
sudo firewall-cmd --reload
若使用云服务器,请同时在腾讯云控制台安全组中放行 8080 端口。
✅ 四、部署 Java Web 应用(WAR 包)
-
将你的
.war文件上传到服务器:scp your-app.war user@your-server:/tmp/ -
复制 WAR 包到 Tomcat 的 webapps 目录:
sudo cp /tmp/your-app.war /opt/tomcat/webapps/ -
Tomcat 会自动解压并部署应用(无需重启)。
-
访问应用:
http://<服务器IP>:8080/your-app
如果 WAR 包名为
ROOT.war,将部署为根路径:http://ip:8080/
✅ 五、(可选)配置反向(Nginx + 80 端口)
为了使用标准 HTTP 端口(80),可配合 Nginx 反向。
1. 安装 Nginx
sudo dnf install nginx -y
sudo systemctl start nginx
sudo systemctl enable nginx
2. 配置 Nginx 反向
编辑配置文件:
sudo vi /etc/nginx/conf.d/java-app.conf
内容:
server {
listen 80;
server_name your-domain.com; # 或服务器 IP
location / {
proxy_pass http://127.0.0.1:8080/your-app;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_xforwarded_for;
}
}
3. 重载 Nginx
sudo nginx -t
sudo systemctl reload nginx
现在可通过 http://your-domain.com 访问应用。
✅ 六、常见问题排查
| 问题 | 解决方法 |
|---|---|
| Tomcat 启动失败 | 检查日志 /opt/tomcat/logs/catalina.out |
| 页面无法访问 | 检查防火墙、安全组、Tomcat 是否监听 8080 |
| 中文乱码 | 在 server.xml 中设置 <Connector URIEncoding="UTF-8"> |
| 内存不足 | 修改 catalina.sh 设置 JVM 参数 -Xms512m -Xmx1024m |
✅ 总结
在 TencentOS Server 3.1 上部署 Java Web 应用的核心步骤:
- ✅ 安装 JDK(OpenJDK 11/17)
- ✅ 安装并配置 Tomcat 作为 Web 容器
- ✅ 部署
.war文件到webapps - ✅ 开放防火墙与安全组端口
- ✅ (可选)使用 Nginx 反向提升可用性
如有使用 Spring Boot 内嵌 Tomcat 的 JAR 包,可直接使用 java -jar app.jar 启动,并配合 systemd 托管进程。
如需进一步帮助(如 HTTPS 配置、数据库连接等),欢迎继续提问!
CLOUD技术笔记