服务器环境准备
项目打包
mvn clean package
上传 WAR 文件
scp your-project.war username@server_ip:/opt/tomcat/webapps/
Tomcat 自动部署
http://server_ip:8080/your-project
手动部署(可选)
# 停止 Tomcat
/opt/tomcat/bin/shutdown.sh
# 删除旧版本(如有)
rm -rf /opt/tomcat/webapps/your-project*
# 复制新 WAR 文件
cp your-project.war /opt/tomcat/webapps/
# 启动 Tomcat
/opt/tomcat/bin/startup.sh
上传 JAR 文件
scp your-project.jar username@server_ip:/opt/your-project/
运行应用
# 简单运行
java -jar your-project.jar
# 后台运行(推荐)
nohup java -jar your-project.jar > app.log 2>&1 &
# 指定配置文件(如有)
nohup java -jar -Dspring.profiles.active=prod your-project.jar > app.log 2>&1 &
使用 systemd 管理(推荐)
# 创建服务文件
sudo vim /etc/systemd/system/your-project.service
服务文件内容示例:
[Unit]
Description=Your Java Web Application
After=syslog.target
[Service]
User=youruser
ExecStart=/usr/bin/java -jar /opt/your-project/your-project.jar
SuccessExitStatus=143
Restart=always
[Install]
WantedBy=multi-user.target
启用并启动服务:
sudo systemctl daemon-reload
sudo systemctl enable your-project
sudo systemctl start your-project
Nginx 反向代理
server {
listen 80;
server_name yourdomain.com;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
HTTPS 配置
日志管理
端口冲突
netstat -tulnp | grep 8080
查看日志
# Tomcat 日志
tail -f /opt/tomcat/logs/catalina.out
# Spring Boot 日志
journalctl -u your-project -f
内存问题
# 查看 Java 进程
jps -l
# 查看内存使用
top -p $(pgrep -f your-project.jar)
编写部署脚本
#!/bin/bash
scp target/your-project.war user@server:/opt/tomcat/webapps/
ssh user@server "/opt/tomcat/bin/shutdown.sh && /opt/tomcat/bin/startup.sh"
使用 Ansible/Puppet 等配置管理工具
希望这个指南能帮助你顺利将 JavaWeb 项目部署到 Linux 服务器!如有具体问题,可以进一步咨询。