Linux 下 Java 部署环境搭建与项目部署详细步骤
目录
1. 软件环境准备
1.1 更新软件包库
1.2 安装 OpenJDK
1.3 安装 MySQL 数据库
2. 部署 Web 项目到 Linux
2.1 数据准备和配置
2.2 Maven 打包项目
2.3 上传 Jar 包至云服务器
2.4 启动应用程序
2.5 配置防火墙与端口开放
2.6 访问与验证项目
2.7 进程管理与问题排查
总结
1. 软件环境准备
1.1 更新软件包库
在 Ubuntu 上,每次安装软件前建议更新系统的软件包数据库:
sudo apt update
此命令会从预设的软件源同步最新软件包的信息。
1.2 安装 OpenJDK
Java 环境是运行 Java Web 项目的必备条件。
-
查找 JDK 包版本 执行:
apt list | grep "jdk"
查看有哪些版本的 JDK 可供安装。
-
安装 OpenJDK 17 建议使用较新版本的 OpenJDK,例如:
sudo apt install openjdk-17-jdk
-
验证安装 检查 Java 版本:
java -version
openjdk version "17.0.12" ...
表示安装成功。
1.3 安装 MySQL 数据库
数据库在 Web 项目中通常用于存储数据。
-
查找 MySQL 包 执行:
apt list | grep "mysql-server"
-
安装 MySQL 执行:
sudo apt install mysql-server
安装过程中可能会提示确认下载和安装,输入
Y
继续。 -
检查 MySQL 服务状态 执行:
sudo systemctl status mysql
状态应显示“active (running)”。
-
进行 MySQL 安全设置 为了增强安全性,请运行:
sudo mysql_secure_installation
根据提示操作:
-
是否设置验证组件:建议输入
Y
并选择密码强度(例如 2 - STRONG); -
删除匿名用户、禁止 root 远程登录和移除 test 数据库等,全部按照提示选择
Y
确认即可。
-
2. 部署 Web 项目到 Linux
2.1 数据准备和配置
-
数据库建表
-
根据提供或自定义的建表 SQL 脚本,在 MySQL 中创建数据库及表结构。
-
登录 MySQL:
sudo mysql -u root -p
然后执行 SQL 脚本创建数据库。
-
-
环境配置文件修改
-
在 Spring Boot 项目中,根据不同环境编写配置文件:例如
application-dev.yml
与application-prod.yml
。 -
在测试环境里使用开发配置,在生产环境中改为正式数据库连接。
-
主配置文件
application.yml
中指定当前使用的 profile:spring:profiles:active: prod
-
2.2 Maven 打包项目
-
在本地环境中 进入项目根目录,执行:
mvn clean package
如果测试用例因环境依赖而失败,可以使用:
mvn clean package -DskipTests
-
打包结果 Maven 执行完成后,会在
target/
目录下生成一个可执行的 jar 包(如blog-spring-0.0.1-SNAPSHOT.jar
)。
2.3 上传 Jar 包至云服务器
-
使用 XShell 拖拽上传
打开 XShell 后,直接将 jar 包从文件管理器拖动至 XShell 窗口,即可完成文件上传。 -
使用 lrzsz 上传工具(备用方案)
-
安装 lrzsz:
sudo apt-get install lrzsz
-
在 XShell 中执行上传命令:
-
上传命令(在终端中输入):
sz blog-spring-0.0.1-SNAPSHOT.jar
-
弹出对话框选择要上传的文件,上传完成后,可在当前目录下看到 jar 文件。
-
-
2.4 启动应用程序
-
在云服务器中进入 jar 文件所在目录 使用
cd
命令定位到上传文件的目录(例如:cd ~/java
)。 -
后台启动应用 使用
nohup
命令使程序在后台运行,并将输出重定向到日志文件中,这样即使退出终端程序也不会停止运行:bash
nohup java -jar blog-spring-0.0.1-SNAPSHOT.jar > app.log 2>&1 &
-
nohup
:使命令在退出终端后继续运行 -
> app.log 2>&1
:将标准输出和错误输出保存到app.log
文件 -
&
:使命令在后台执行
-
-
验证程序运行情况
-
使用命令查看运行的进程:
ps -ef | grep java
-
查看日志文件,确认启动完成:
tail -f app.log
-
2.5 配置防火墙与端口开放
-
确认应用端口 假设应用监听 8080 端口,则需要确保云服务器安全组或防火墙允许外部访问该端口。
-
在云服务器管理控制台
-
登录云服务商(如腾讯云、阿里云)管理后台,进入防火墙或安全组设置。
-
添加相应规则:
-
协议:TCP
-
端口号:8080
-
来源:建议设置为
0.0.0.0/0
(所有 IP)或根据实际需要限制 IP 范围
-
-
2.6 访问与验证项目
-
在浏览器中访问 输入 URL:
http://[外网IP]:8080/blog_login.html
(将
[外网IP]
替换为云服务器实际 IP,8080
替换为实际应用监听端口) -
功能验证
-
检查登录、注册、博客列表展示、新增博客等功能是否正常
-
如遇错误,回到云服务器查看日志文件进行问题排查
-
2.7 进程管理与问题排查
-
查看当前 Java 进程
ps -ef | grep java
-
停止旧进程 若需重启服务,先使用
kill
命令结束当前进程(假设 PID 为 12345):kill -9 12345
-
常见问题检查
-
数据库连接密码错误、MySQL 大小写问题
-
JDK 版本不匹配,检查
java -version
-
防火墙端口未开放,重新检查云服务安全配置
-
总结
以上内容详细介绍了从 Linux 基本使用到 Java Web 项目部署的全过程。简单回顾主要步骤:
-
环境搭建
选择并购买云服务器,获取外网 IP、管理员账号和密码使用 XShell 等工具通过 SSH 连接到 Linux 服务器 -
Linux 基本命令学习
掌握文件管理、目录切换、文本编辑等基础操作 -
安装运行环境
使用 apt 更新软件包,安装 OpenJDK 和 MySQL并且完成 MySQL 安全设置,确保数据库安全 -
项目打包与上传
在本地使用 Maven 打包生成 jar 包,通过 XShell 或 lrzsz 上传文件 -
后台运行及验证
利用 nohup 后台启动 jar,开放必要端口,测试访问效果 -
排查与进程管理
检查进程、日志,使用 kill 命令重启服务
这份指南可以作为实际操作时的参考文档,帮助你理清从环境搭建、软件安装到项目上线的每一步细节。对部署流程有疑问或需要进一步了解自动化部署工具(如 Jenkins、Docker 等),都可以在此基础上进行进一步探索和实践。