一、环境准备与前置检查
在开始部署前,需确保开发环境和目标服务器满足以下条件:
- JDK环境配置:服务器需安装JDK 1.8或更高版本,通过`java -version`验证安装状态
- 网络与安全组:放通服务器SSH(22端口)与应用服务端口(如8080、8099)
- 防火墙管理:临时关闭使用`systemctl stop firewalld`,永久关闭需额外执行`systemctl disable firewalld`
- SELinux状态:运行`getenforce`检查,若为Enforcing状态需关闭以避免权限冲突
二、JAR包打包方法与实操
1. 使用IntelliJ IDEA打包
- 通过File > Project Structure > Artifacts进入配置界面
- 选择JAR > From modules with dependencies,指定主类(如com.example.MainClass)
- 构建完成后,JAR文件将生成在out/artifacts/目录
2. Maven项目打包配置
在pom.xml中配置Spring Boot Maven插件:
xml
org.springframework.boot
spring-boot-maven-plugin
com.xxx.Application
执行打包命令:mvn clean package -Dmaven.test.skip=true
3. 手动构建MANIFEST.MF
对于非标准项目,需创建包含主类声明的描述文件:
Manifest-Version: 1.0 Main-Class: com.lzw.MainFrame Class-Path: lib/dependency1.jar lib/dependency2.jar
注意每个键值对后的空格和结尾空行
三、服务器部署实战
1. 基础部署命令
- 使用SCP上传文件:
scp target/xx.jar .1.1:/opt/apps/ - 启动应用:
nohup java -jar -Dserver.port=8099 xx.jar & - 端口验证:通过
netstat -tulnp | grep 8099检查服务状态
2. 生产环境运维脚本
启动脚本(start.sh):
bash
#!/bin/bash
nohup java -jar /opt/apps/xx.jar > /var/log/app.log 2>&1 &
echo $! > /var/run/app.pid
停止脚本(stop.sh):
bash
#!/bin/bash
kill -9 `cat /var/run/app.pid`
3. Nginx反向代理配置
通过Nginx实现域名访问和安全隔离:
nginx
server {
listen 80;
server_name www.;
location / {
proxy_pass
四、部署验证与故障排查
- 日志监控:使用
tail -f /var/log/app.log实时跟踪应用状态 - 进程检查:通过
ps aux | grep java确认JVM进程存活 - 端口占用检测:运行
lsof -i:8099验证端口绑定情况
五、运维优化建议
- 使用systemd服务管理应用生命周期,实现开机自启
- 配置日志轮转(logrotate)避免磁盘空间耗尽
- 通过HTTPS证书提升传输安全性,各大云平台均提供证书服务
部署福利提示:在选购阿里云等云平台产品前,建议先通过云小站平台领取满减代金券,可显著降低云服务器、容器服务等基础设施的采购成本。
内容均以整理官方公开资料,价格可能随活动调整,请以购买页面显示为准,如涉侵权,请联系客服处理。
本文由星速云发布。发布者:星速云。禁止采集与转载行为,违者必究。出处:https://www.67wa.com/15167.html