目录
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 等),都可以在此基础上进行进一步探索和实践。