跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI 生图工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Javajava

Linux 基础命令与 Java 项目部署实战

Linux 服务器的环境搭建方案,对比了物理机、虚拟机与云服务器的优劣,推荐使用云服务器。涵盖了 ls、cd、vim、grep 等常用命令的实战用法及注意事项。重点讲解了如何在 Ubuntu 上通过 apt 安装 JDK 和 MySQL,并进行安全配置。最后演示了 Spring Boot 项目的多环境配置、Maven 打包、jar 包上传及运行维护的全流程,适合希望掌握 Java 后端部署技能的开发者参考。

SqlMaster发布于 2026/3/23更新于 2026/9/761 浏览
Linux 基础命令与 Java 项目部署实战

Linux 基础命令与 Java 项目部署实战

Linux 环境搭建

环境选择

搭建 Linux 环境主要有四种方式,各有优劣:

  1. 物理机安装:直接安装在硬件上。桌面体验较差,不推荐。
  2. 虚拟机软件:如 VMWare。可能存在兼容性问题,折腾较多,非常不推荐。
  3. WSL (Windows Subsystem for Linux):Windows 内置功能,目前技术尚不够成熟,暂时不推荐。
  4. 云服务器:直接在腾讯云、阿里云或华为云等平台购买。这是最推荐的方案,稳定且易于管理。

作为在校学生,通常可以免费获取服务器资源,建议自行搜索相关优惠政策。

本教程以 Ubuntu 22.04 LTS 为例进行演示。

连接服务器

购买服务器后,需记录三个关键信息:公网 IP、管理员账户(通常为 root)、以及密码。

使用终端工具连接主机,这里推荐使用 Xshell。下载免费版即可,安装过程一路 Next。新建会话时填入公网 IP,登录时输入账号密码。成功登录后,界面显示命令行提示符即表示配置完成。

连接成功界面

Linux 常用命令

掌握常用命令是高效操作的基础,以下按功能分类介绍。

文件与目录管理

  • ls:列出目录内容。常用选项包括 -a(显示隐藏文件)、-l(详细信息)、-R(递归)。
  • pwd:显示当前工作目录路径。
  • cd:切换目录。.. 返回上级,~ 进入家目录,- 返回上次访问位置。
    # 返回上级目录
    cd ..
    # 进入用户家目录
    cd ~
    
    *提示:所有命令均可使用 Tab 键补全,提高输入效率;若输入错误可按 Ctrl+C 取消当前命令。
  • touch:创建空文件或修改文件时间戳。
  • mkdir:创建目录。配合 -p 参数可一次性创建多级目录。
  • rm:删除文件。警告:切勿在生产环境随意执行 rm -rf /,后果严重。
  • cp:复制文件。源文件不会消失。
  • mv:移动文件或重命名。若目标为已存在目录,则移动至该目录下。

文本编辑与查找

  • vim:强大的文本编辑器。启动后默认为普通模式,按 i 进入插入模式编辑,按 Esc 退出插入模式。保存并退出用 :wq,强制退出用 :q!。
  • grep:文本搜索工具。支持 -n 显示行号、 递归查找、 高亮匹配结果。
-r
--color

进程与网络

  • ps:查看进程状态。常用组合 ps -ef 或 ps aux 查看完整列表。
  • netstat:查看网络连接状态。-anp 可显示数字地址及所属进程 PID。

搭建 Java 部署环境

包管理工具 apt

apt 是 Ubuntu/Debian 系的软件包管理工具。大多数命令需要 sudo 权限。

# 更新软件源
sudo apt update
# 卸载软件包(保留配置)
sudo apt remove <package>
# 彻底清除(含配置)
sudo apt purge <package>

安装 JDK

# 查找可用版本
apt list | grep "jdk"
# 安装 OpenJDK 17
sudo apt install openjdk-17-jdk

安装完成后验证版本:java -version。

安装 MySQL

# 查找安装包
apt list | grep "mysql-server"
# 安装
sudo apt install mysql-server

安装后运行安全脚本设置密码强度:sudo mysql_secure_installation。 为了安全起见,建议重置 root 密码:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_password';

之后连接数据库时需输入账号密码。

部署 Web 项目到 Linux

理解部署流程

开发环境用于编码,测试环境用于验证,生产环境(线上)面向最终用户。将程序发布到生产环境的过程称为部署。虽然公司内部常使用 Jenkins 等自动化工具,但手动部署有助于理解底层逻辑。

环境配置

不同环境的配置文件应分离,例如 application-dev.yml 和 application-prod.yml。 在 Maven 中通过 Profile 切换配置:

spring:
  profiles:
    active: @profile.name@

确保数据库建表脚本已在服务器上执行,并根据生产环境修改数据库连接信息。

构建与上传

本地使用 Maven 打包。若测试代码依赖特定环境导致失败,可跳过测试:

mvn clean package -DskipTests

将生成的 jar 包上传至服务器。Xshell 支持直接拖拽文件传输。

运行与清理

通过公网 IP 访问服务验证是否正常。若需重启或停止服务,先查找进程 ID:

ps -ef | grep java

找到对应 PID 后使用 kill <pid> 杀死进程。

以上就是 Linux 基础使用与 Java 项目部署的核心流程。

目录

  1. Linux 基础命令与 Java 项目部署实战
  2. Linux 环境搭建
  3. 环境选择
  4. 连接服务器
  5. Linux 常用命令
  6. 文件与目录管理
  7. 文本编辑与查找
  8. 进程与网络
  9. 搭建 Java 部署环境
  10. 包管理工具 apt
  11. 更新软件源
  12. 卸载软件包(保留配置)
  13. 彻底清除(含配置)
  14. 安装 JDK
  15. 查找可用版本
  16. 安装 OpenJDK 17
  17. 安装 MySQL
  18. 查找安装包
  19. 安装
  20. 部署 Web 项目到 Linux
  21. 理解部署流程
  22. 环境配置
  23. 构建与上传
  24. 运行与清理

更多推荐文章

查看全部
  • OpenClaw Gateway 常见问题与配置指南
  • HTTPDNS 原理与落地实践
  • IntelliJ IDEA 2025 中 Git Local Changes 面板消失问题修复
  • Ubuntu 系统安装 Docker 及配置国内镜像源
  • 一次GitHub学生认证的记录与避坑
  • 智能座舱发展趋势与 Android 框架源码核心解析
  • Spring Boot 数据导入导出与报表生成
  • WebODM 开源无人机地图制作完全指南
  • FLUX.1-dev WebUI 实战:实时进度监控与 24G 显存优化指南
  • 全国计算机等级考试二级 Python 历年真题及参考答案(综合应用题)
  • AIOps 实践:基于 Dify + LangBot 构建飞书智能体机器人
  • 2 个原因解答:为什么网络安全缺口大,招聘却很少?
  • MIT 电机模式控制:参数、场景与调试指南
  • FPGA 开发环境搭建:Quartus II 13.1 与 ModelSim 安装配置指南
  • 在 CentOS 上安装 Python 3.12
  • 中国信通院《2024年人工智能发展报告》核心观点解读
  • 使用 json-repair 库修复大模型返回的异常 JSON 格式
  • 2025 年 12 月 GitHub 十大热门开源项目
  • 主流 AI 编程模型对比与选型实战指南
  • HarmonyOS 6.0 Network Kit 深度解析:TLS 国密证书支持

相关免费在线工具

  • Keycode 信息

    查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online

  • Escape 与 Native 编解码

    JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online

  • JavaScript / HTML 格式化

    使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online

  • JavaScript 压缩与混淆

    Terser 压缩、变量名混淆,或 javascript-obfuscator 高强度混淆(体积会增大)。 在线工具,JavaScript 压缩与混淆在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online