在Linux服务器上部署Java应用需要进行一系列准备工作,以确保应用能够稳定、安全地运行。以下是主要的准备工作步骤:
1. 确认服务器环境
- 操作系统版本:确认Linux发行版(如 CentOS、Ubuntu、Debian 等)及其版本。
- 系统架构:确认是32位还是64位系统,通常推荐使用64位。
- 资源评估:检查CPU、内存、磁盘空间是否满足应用需求。
2. 安装Java运行环境(JRE/JDK)
-
选择Java版本:根据应用要求选择合适的Java版本(如 Java 8、11、17 等)。
-
安装方式:
-
使用包管理器安装(推荐):
# Ubuntu/Debian sudo apt update sudo apt install openjdk-17-jdk # CentOS/RHEL sudo yum install java-17-openjdk-devel -
或从 Oracle 官网下载并手动安装。
-
-
配置环境变量:
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk export PATH=$JAVA_HOME/bin:$PATH可将上述内容添加到
/etc/profile或用户.bashrc文件中。 -
验证安装:
java -version javac -version
3. 准备应用文件
- 将Java应用打包为可执行的 JAR/WAR 文件(使用 Maven/Gradle 构建)。
- 上传应用到服务器(可通过
scp、rsync或 CI/CD 工具):scp myapp.jar user@server:/opt/myapp/
4. 配置应用依赖和环境
- 数据库连接:确保数据库已部署并可访问,配置正确的连接信息。
- 配置文件:放置
application.properties或application.yml到合适位置。 - 外部依赖服务:如 Redis、MQ、Nginx 等需提前部署并测试连通性。
5. 创建运行用户(安全最佳实践)
- 避免使用 root 用户运行应用:
sudo useradd -m -s /bin/bash javaapp sudo chown -R javaapp:javaapp /opt/myapp
6. 设置启动脚本或服务
-
编写启动脚本(如
start.sh):#!/bin/bash cd /opt/myapp nohup java -jar myapp.jar --spring.profiles.active=prod > app.log 2>&1 & -
或配置为系统服务(使用 systemd):
创建/etc/systemd/system/myapp.service:[Unit] Description=My Java Application After=network.target [Service] Type=simple User=javaapp ExecStart=/usr/bin/java -jar /opt/myapp/myapp.jar Restart=always [Install] WantedBy=multi-user.target启用服务:
sudo systemctl daemon-reload sudo systemctl enable myapp sudo systemctl start myapp
7. 配置防火墙和网络
-
开放应用端口(如 8080):
# Ubuntu (ufw) sudo ufw allow 8080 # CentOS (firewalld) sudo firewall-cmd --permanent --add-port=8080/tcp sudo firewall-cmd --reload
8. 日志与监控
- 配置日志输出路径,定期轮转日志(可使用 logrotate)。
- 集成监控工具(如 Prometheus + Grafana、Zabbix)或 APM 工具(如 SkyWalking)。
9. 安全加固
- 更新系统补丁:
sudo yum update或sudo apt upgrade - 禁用不必要的服务。
- 配置 SSH 安全(禁用密码登录,使用密钥认证)。
- 使用反向X_X(如 Nginx)隐藏后端服务,支持 HTTPS。
10. 备份与恢复策略
- 定期备份应用数据、配置文件和数据库。
- 制定故障恢复流程。
可选:使用容器化部署(Docker)
- 将应用打包为 Docker 镜像,简化部署和环境一致性。
- 结合 Docker Compose 或 Kubernetes 进行编排。
✅ 总结清单:
- [ ] 安装并配置 Java 环境
- [ ] 上传并验证应用包
- [ ] 创建专用运行用户
- [ ] 配置系统服务或启动脚本
- [ ] 设置防火墙和端口
- [ ] 配置日志和监控
- [ ] 实施安全措施
- [ ] 测试启动与访问
完成以上步骤后,你的Java应用就可以在Linux服务器上稳定运行了。
云小栈