Linux项目部署全攻略:从环境搭建到前后端部署实战

发布于:2025-05-19 ⋅ 阅读:(15) ⋅ 点赞:(0)

Linux项目部署全攻略:从环境搭建到前后端部署实战

注:根据黑马程序员javaweb+AI视频课程总结
视频地址
详细讲义地址
在这里插入图片描述

一、Linux基础入门:为什么选择Linux?

要成为一名Java开发工程师,掌握Linux是企业级开发的必备技能。主流操作系统中,Linux在服务器领域凭借安全稳定、免费开源、高占有率的特性占据主导地位(如表格所示)。

操作系统 特点 应用场景
Windows 用户基数大 桌面办公
macOS 体验流畅 设计开发
Linux 安全稳定、免费开源 服务器部署

Linux系统分为内核版(Linus团队维护)和发行版(厂商扩展),常见发行版包括Ubuntu(桌面友好)、CentOS(企业级首选)、RedHat(付费稳定版)等。对于开发者而言,选择CentOS进行学习和部署最为合适。
在这里插入图片描述

二、开发环境搭建:虚拟机与远程连接

(一)虚拟机安装:VMware快速入门

  1. 安装步骤
    • 下载VMware安装包,双击执行“下一步”完成安装。
    • 安装完成后,通过“虚拟网络编辑器”配置NAT模式,设置子网IP为192.168.100.0
      在这里插入图片描述

在这里插入图片描述

  1. 挂载Linux系统
    • 首先解压CentOS镜像文件,双击.vmx文件导入虚拟机。
    • 启动虚拟机时选择“我已移动该虚拟机”,登录账号为root,密码1234(输入不显示)。

(二)远程连接:FinalShell高效管理

通过SSH工具远程操作Linux是开发常态,推荐使用FinalShell(免费、功能强大):

  1. 安装完成后,新建SSH连接,配置IP192.168.100.128、用户名root、密码1234
  2. 连接成功后,即可通过图形化界面执行命令,支持文件上传、终端分屏等功能。
    在这里插入图片描述

三、Linux核心操作:从目录到命令的全面掌握

(一)目录结构:树形结构的哲学

在这里插入图片描述
在这里插入图片描述

Linux以/为根目录,采用树形结构组织文件,与Windows盘符逻辑完全不同。关键目录作用如下:

目录 功能
/bin 存放可执行文件
/etc 存储系统配置
/home 用户文件主目录
/var 运行时数据(如日志)
/usr 系统应用程序

(二)常用命令:效率工具集

  1. 目录操作

    • ls -al:查看目录所有文件(含隐藏文件)及详细信息。
    • cd ..:切换到上级目录;cd ~:回到用户主目录。
    • mkdir -p itcast/test:递归创建多层目录。
  2. 文件操作

    • cat -n file:显示文件内容并编号;more file:分页查看大文件。
    • tail -f log.txt:动态监控日志文件末尾内容。
  3. 拷贝移动

    • cp -r source dest:递归复制目录;mv file new_name:重命名或移动文件。
  4. 打包压缩

    • tar -zcvf package.tar.gz dir:打包并压缩目录;tar -zxvf package.tar.gz -C /usr/local:解压到指定目录。
  5. 文本编辑

    • vim编辑器三模式:
      • 命令模式(默认):移动光标、删除行(dd)、进入插入模式(i/a/o)。
      • 插入模式:编辑文本,按ESC返回命令模式。
      • 底行模式:保存退出(:wq)、查找(/keyword)、显示行号(:set nu)。

四、软件安装实战:JDK、MySQL、Nginx

(一)JDK安装:二进制包快速部署

  1. 上传解压:将从官网下载的jdk-17.0.10_linux-x64_bin.tar.gz上传至/root,解压到/usr/local
  2. 配置环境变量
    vim /etc/profile
    export JAVA_HOME=/usr/local/jdk-17.0.10
    export PATH=$JAVA_HOME/bin:$PATH
    source /etc/profile  # 使配置生效
    
  3. 验证java -version显示版本信息即安装成功。

(二)MySQL安装:从依赖到远程访问

  1. 卸载冲突组件
    rpm -qa | grep mariadb  # 检查是否有MariaDB
    rpm -e --nodeps mariadb-libs-xxx  # 强制卸载
    
  2. 解压配置:上传从官网下载的MySQL压缩包,解压后移动至/usr/local/mysql,配置环境变量并初始化:
    groupadd mysql && useradd -r -g mysql -s /bin/false mysql
    mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
    
  3. 远程访问配置
    • 创建远程用户并授权:
      CREATE USER 'root'@'%' IDENTIFIED BY '1234';
      GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
      FLUSH PRIVILEGES;
      
    • 开放防火墙端口或关闭防火墙:
      firewall-cmd --zone=public --add-port=3306/tcp --permanent
      firewall-cmd --reload
      

(三)Nginx安装:源码编译与前端部署

  1. 依赖安装
    yum install -y pcre pcre-devel zlib zlib-devel openssl openssl-devel gcc-c++
    
  2. 编译安装:上传从官网下载的Nginx源码包,解压后执行:
    ./configure --prefix=/usr/local/nginx
    make && make install
    
  3. 启动验证
    /usr/local/nginx/sbin/nginx  # 启动
    ps -ef | grep nginx  # 检查进程
    
    浏览器访问http://192.168.100.128,显示“Welcome to nginx!”即成功。
    在这里插入图片描述

五、项目部署:从前后端到后台运行

(一)前端部署:Nginx静态资源服务

  1. 准备工作:删除Nginx默认html目录下的文件,上传项目静态资源(如HTML、CSS、JS)。
  2. 配置修改:替换Nginx配置文件nginx.conf,重新加载配置:
    /usr/local/nginx/sbin/nginx -s reload
    
  3. 访问测试:浏览器输入服务器IP,强制刷新(Ctrl+F5)查看页面。

(二)后端部署:Spring Boot项目上线

  1. 配置修改:修改application.yml中的数据库连接为Linux服务器IP。
  2. 打包上传:使用Maven打包成JAR包,上传至Linux的/usr/local/app目录。
  3. 后台运行
    nohup java -jar project.jar &> tlias.log &  # 后台运行并输出日志
    ps -ef | grep project  # 查看进程
    kill -9 PID  # 停止进程
    

(三)阿里云OSS配置:环境变量管理

将OSS访问密钥配置为Linux系统环境变量:

echo "export OSS_ACCESS_KEY_ID=your_key_id" >> /etc/profile
echo "export OSS_ACCESS_KEY_SECRET=your_secret" >> /etc/profile
source /etc/profile  # 生效配置

六、总结:从入门到实战的核心路径

关键要点包括:

  • 多敲多练:Linux指令需通过实践加深记忆(如lscdvim)。
  • 环境隔离:开发用虚拟机,生产用物理机,确保配置一致性。
  • 日志与监控:使用tailnohup管理日志,pskill监控进程。

后续可进一步学习Docker容器化部署、Kubernetes集群管理等进阶技术,提升项目部署效率与稳定性。

附:常用命令速查表

类别 命令 说明
目录操作 ls -al 查看所有文件详情
cd ~ 返回用户主目录
mkdir -p 递归创建目录
文件操作 cat -n 带行号显示文件
tail -f 动态监控日志
tar -zxvf 解压压缩包
软件管理 yum install 安装依赖
systemctl start mysql 启动服务
firewall-cmd 防火墙配置
项目部署 nohup java -jar 后台运行JAR包
nginx -s reload 重载Nginx配置

网站公告

今日签到

点亮在社区的每一天
去签到