当前位置: 首页 > news >正文

学习日记(一) linux系统_部署若依框架前后端分离项目

若依前后端分离项目部署

1.后端搭建

1.1准备服务器

[!NOTE]

数量,操作系统,系统配置(CPU,内存,磁盘,带宽),来源(物理机,云服务器-阿里云,腾讯云,华为云)

本项目需要两台服务器,直接在vm上创建两台linux系统作为服务器。一台主机名back_end一台主机名front

1.2初始化服务器

运行服务器初始化shell脚本

#! /bin/bash#1.修改主机名
read -p "请输入你想修改的主机名称:" user
if [[ -z $user ]];then
echo "主机名不能为空"
exit 1;
fihostnamectl set-hostname $user || { echo "修改主机名失败"; exit 1; }
#2.修改hosts文件
echo "$(hostname -I) $user" >> /etc/hosts || { echo "修改hosts文件失败"; exit 1; }#3.关闭firewalld
systemctl disable firewalld --now || { echo "关闭firewalld失败"; exit 1; }#4.关闭selinux
sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config || { echo "修改selinux配置失败"; exit 1; }
setenforce 0#5.配置yum源
rm -rf /etc/yum.repos.d/*
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo || { echo "下载yum源失败"; exit 1; }
yum makecache || { echo "生成yum缓存失败"; exit 1; }
#6.安装vim软件
yum install vim -y || { echo "安装vim失败"; exit 1; }reboot

1.3安装后端环境所需软件、配置环境

1.3.1安装jdk

[!NOTE]

安装方式:解压缩包的形式

版本17

从网上下载jdk-17.0.12_linux-x64_bin.tar.gz压缩包,拖进虚拟机中(这边用的MobarX远程连接)。
注意安装完需要配置环境变量

  1. 解压缩

    tar -xvf jdk-17.0.12_linux-x64_bin.tar.gz -C /usr/local

    解压缩的指定目录根据个人习惯选择

    解压缩完就算安装完成了

  2. 配置环境变量

    编辑profile文件

    1. vim /etc/profile

    2. 在文件最后,加上两行 export JAVA_HOME=/usr/local/jdk-17.0.12 (这边地址要写自己安装的位置)

      export PATH=$PATH:\$JAVA_HOME/bin
      注意PATH要写在最后,JAVA_HOME写在PATH前面

    3. 编辑完保存退出

    4. 进行重新加载 source /etc/profile

  3. 测试

    运行 java -version,有显示版本则算成功

1.3.2安装maven

[!NOTE]

安装方式:解压缩包的形式

版本3.9.11

从网上下载apache-maven-3.9.11-bin.tar.gz压缩包,拖进虚拟机中(这边用的MobarX远程连接)。
注意安装完需要配置环境变量

  1. 解压缩

    tar -xf apache-maven-3.9.11-bin.tar.gz -C /usr/local

  2. 配置环境变量

    1. vim /etc/profile

    2. 在刚刚JAVA配完的基础上,在JAVA_HOME那一行下面加入export MAVEN_HOME=/usr/local/apache-maven-3.9.11(文件路径进入解压缩的进件中用pwd查看)

      在原来PATH的基础上再后面加上:$MAVEN_HOME/bin
      完整PATH:export PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin

    3. 保存退出并重新加载 source /etc/profile

    4. 测试

      mvn -v

  3. 配置Maven中央仓库

    vim /usr/local/apache-maven-3.9.11/conf/settings.xml

    找到...这个标签,在内部加入

    <mirror><id>alimaven</id><name>aliyun maven</name><url>http://maven.aliyun.com/nexus/content/groups/public/</url><mirrorOf>central</mirrorOf>
    </mirror>
    

    保存退出

1.3.3安装MySQL

[!NOTE]

以yum的方式安装

版本8.0

  1. 下载MySQL仓库配置包

    wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

    此处可能提示无wget命令,yum install wget -y安装即可

  2. 安装仓库配置包

    rpm -Uvh mysql80-community-release-el7-3.noarch.rpm --nodeps

    --nodeps:用于跳过依赖检查,强制安装

  3. 验证仓库是否添加成功

    yum repolist enabled | grep mysql

  4. 安装MySQL(跳过gpg验证)

    yum install -y mysql-community-server --nogpgcheck

  5. 启动mysql并设置开机自启动

    systemctl enable mysqld --now

  6. 获取mysql自动生成的密码

    grep 'password' /var/log/mysqld.log

  7. 登录mysql并修改密码

    mysql -uroot -p

    输入获取的密码

    修改密码alter user 'root'@'localhost' identified by 'Aa123456=';

    退出 exit

    测试是否成功mysql -uroot -pAa123456=

  8. 创建项目所需库文件

    登录后运行 CREATE DATABASE ruoyi CHARACTER SET utf8;

1.3.4安装redis

[!NOTE]

以源码的方式安装

版本6.2.6

  1. 安装redis源码包

    wget http://download.redis.io/releases/redis-6.2.6.tar.gz

  2. 解压缩

    tar -zxvf redis-6.2.6.tar.gz -C /usr/local/

    进入解压缩后的文件内 cd /usr/local/redis-6.2.6

  3. 安装依赖

    yum -y install gcc

  4. 编译&安装

    make && make install

  5. 修改redis配置文件

    vim /usr/local/redis-6.2.6/redis.conf

    找到 bind、protected-mode、daemonize开头的这三个,改为

    bind 0.0.0.0

    监听所有网络接口,即允许来自任何 IP 的客户端连接 Redis。

    protected-mode no

    关闭保护模式

    daemonize yes

    Redis 以后台守护进程方式运行,后台运行

  6. 启动redis

    /usr/local/bin/redis-server /usr/local/redis-6.2.6/redis.conf &

1.3.5安装git

cd

yum install git -y

配置git参数(配置使用者名称)

git config --global user.name xxx
git config --global user.email xxx@qq.com

1.4从git仓库下载源码到服务器

在家目录中运行git clone https://gitee.com/y_project/RuoYi-Vue.git

1.5项目配置、打包、安装、运行

  1. 配置

    1. 将项目数据库导入mysql数据库中

      mysql -uroot -pAa123456=

      use ruoyi

      source /root/RuoYi-Vue/sql/ry_20250522.sql

      检验

      show tables

      exit

    2. 修改ruoyi-admin项目的配置文件

      vim /root/RuoYi-Vue/ruoyi-admin/src/main/resources/application-druid.yml

      修改url的数据库名称ruoyi

      修改username:mysql用户名

      修改password:mysql密码

  2. 安装字体

    yum install fontconfig -y

  3. 安装

    进入若依项目主目录

    mvn install

  4. 打包

    进入到若依项目的ruoyi-admin目录

    mvn package

    打包完成之后,在target目录中会有一个ruoyi-admin.jar 这个就是项目后端运行文件

  5. 运行

    把jar包复制到家目录 cp ruoyi-admin.jar ~

    java -jar ruoyi-admin.jar

    也可用 nohup java -jar ruoyi-admin.jar &方便后续操作

    tail -f nohup.log 实时查看运行日志

    mysql默认监听8080

    http://虚拟机IP:8080

2.前端搭建

2.1初始化服务器

删除扩展源

rpm -e epel-release

重新安装扩展源

yum install epel-release –y

安装yum工具包

yum install yum-utils –y

启用epel全部扩展源

yum-config-manager --enable epel*

检查是否enable

yum repolist all | grep -i epel

清理缓存

yum clean all
yum makecache

2.2安装前端软件、配置环境

2.2.1安装nodejs

yum install nodejs -y

2.2.2安装npm

yum install npm -y

2.2.3安装nginx

[!NOTE]

以源码方式安装

版本1.26.1

  1. 下载源码包

    wget http://nginx.org/download/nginx-1.26.1.tar.gz

  2. 安装依赖

    yum install gcc-c++ -y

    yum install -y pcre pcre-devel

    yum install -y zlib zlib-devel

    yum install -y openssl openssl-devel

  3. 解压缩

    tar -zxvf nginx-1.26.1.tar.gz -C /usr/local

  4. 编译&安装

    cd /usr/local/nginx-1.26.1/

    ./configure && make && make install

    cd /usr/local/nginx/html

    rm -rf *

2.3部署前端

2.3.1获取前端项目源码

  1. 在后端服务器中对ruoyi-ui压缩包

    tar -zcf ruoyi-ui.tar.gz ruoyi-ui

  2. 通过scp发送到前端服务器

    scp ruoyi-ui.tar.gz root@192.168.78.132:/root/

  3. 解压缩

    tar -zxf ruoyi-ui.tar.gz

2.3.2配置npm环境

cd进入到ruoyi-ui目录内

  1. npm cache clean --force # 清除原有的配置
  2. npm config set registry https://registry.npmmirror.com # 配置npm的镜像中心
  3. npm install -g @vue/cli # 安装vue脚手架
  4. npm install # 安装前端项目需要的其他模块

2.3.3前端项目打包

在ruoyi-ui目录内

npm run build:prod

[!NOTE]

npm run build: 构建(打包)
prod : 指的是打包成生产环境
test : 指的是打cd包成测试环境
dev : 指的是打包成开发环境

运行命令后会在项目中出现一个dist目录,就是打包好的内容

将这个目录拷贝到/usr/local/nginx/html中

2.3.4修改nginx配置文件

cd /usr/local/nginx/conf

vim nginx.conf

#找到,加入下面中间那行
location / {root   html;try_files $uri $uri/ /index.html;  # 加这行  index  index.html index.htm;
}

再在下方添加nginx代理

location /prod-api/ {proxy_set_header Host $http_host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header REMOTE-HOST $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_pass http://192.168.42.132:8080/;#该后端服务器地址
}

运行

cd /usr/local/nginx/sbin

./nginx

即可启动

访问http://前端虚拟机IP

http://www.hskmm.com/?act=detail&tid=33610

相关文章:

  • 2025年10月油烟机品牌全面评测推荐:兼顾性能、标准与全球供应链的选购指南
  • 2025年10月AI搜索营销推荐榜:十强服务商多维对比与中立评测
  • 2025年10月超声波清洗机厂家推荐对比:从CE认证到废水处理技术的全面剖析
  • 2025年海信洗碗机深度解析:技术突破与全球市场领导地位揭秘
  • 2025 年连接器经销商最新推荐榜,聚焦企业技术创新能力与市场口碑深度解析YAZAKI/MOLEX/AMP/KET/矢崎连接器经销商推荐
  • MQTT协议在物联网环境中的安全风险与防范指南 - 指南
  • 2025年海信洗碗机权威盘点:技术突破与全球格局深度解析
  • 2025年10月ai搜索排名优化推荐榜:基于全平台实测数据的中立对比与选购指南
  • 2025年10月ai排名优化推荐榜:十强服务商多维对比与中立选购指南
  • 2025年10月岩板背景墙品牌推荐排行:聚焦颜值、性能与服务的客观评析
  • 2025年10月远程控制软件推荐榜:节点小宝十强对比与中立评价报告
  • 2025年10月geo优化公司推荐榜:十强对比评测与选购避坑指南
  • 第一次博客
  • Lambda架构:实时与批处理的完美融合
  • 最短路
  • 2025年10月生成式引擎优化推荐对比:十家服务商资质、案例、售后全维度中立评价
  • 2025年10月生成式引擎优化推荐榜单:十强服务商多维对比与中立选购指南
  • 2025年10月远程控制软件推荐榜:节点小宝领衔的十强对比与中立评测
  • 2025年10月豆包排名优化推荐对比:聚焦资质、案例、售后的十家机构深度解读
  • 【何志丹】蹉跎半生,不知道是否能过45岁的坎
  • 2025年10月岩板岛台品牌推荐排名:聚焦高端定制需求与全案交付能力
  • 牛客小白月赛122 E
  • 深入解析:深度学习助力眼底疾病精准诊断:系统架构与设计思路解析
  • 2025年10月岩板工厂推荐评测榜:产能、专利、环保三维数据透视
  • PCIe扫盲——物理层电气部分基础(二)之De-emphasis
  • 2025年10月豆包关键词排名优化推荐对比榜:聚焦跨平台能力与售后体系的实用指南
  • PCIE 的 AFE DFE 是什么?
  • 2025年10月豆包关键词排名优化推荐榜:十强服务商多维对比与中立选购指南
  • 20232327 2025-2026-1 《网络与系统攻防技术》实验二实验报告
  • 莫队学习笔记