非常详细的前端后端分离项目部署步骤

小伙伴们好,欢迎关注,一起学习、无限进步

环境准备

JDK 安装与环境变量配置

Maven 环境变量配置

Nginx 服务器安装配置

Node 环境变量配置

Git 安装环境变量配置

Docker 部署及常用命令

Redis 安装及配置

MySQL 安装及配置

注意:当前 RedisMySQL 是使用 Docker 安装的,Nginxtar 包解压后安装配置

克隆项目

项目用的是 RuoYi-Vue 前后端分离项目, Gitee地址

cd 进入项目所在文件夹下:cd /data/pro/

克隆拉取代码:git clone https://gitee.com/y_project/RuoYi-Vue.git

后端部署

  • 使用 Navicat Premium 连接 MySql 数据库,创建名 ry-vue 的数据库,分别执行项目 sql 文件夹的 quartz.sqlry_20230223.sql 文件

  • 修改一些项目的配置文件

    1. MySQL 数据库,修改 MySQL 数据库密码,进入到 resources 文件夹下,/data/pro/RuoYi-Vue/ruoyi-admin/src/main/resources,编辑 application-druid.yml 文件,vim application-druid.yml ,修改密码,数据库名字一致则不用修改

      # 数据源配置
      spring:
          datasource:
              type: com.alibaba.druid.pool.DruidDataSource
              driverClassName: com.mysql.cj.jdbc.Driver
              druid:
                  # 主库数据源
                  master:
                      url: jdbc:mysql://localhost:3306/ry-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
                      username: root
                      password: 123456
      
    2. Redis 地址信息,编辑 resource 文件夹下 application.yml 文件,修改 redis 连接密码

      # redis 配置
        redis:
          # 地址
          host: localhost
          # 端口,默认为6379
          port: 6379
          # 数据库索引
          database: 0
          # 密码
          password: 123456
          # 连接超时时间
          timeout: 10s
          lettuce:
            pool:
              # 连接池中的最小空闲连接
              min-idle: 0
              # 连接池中的最大空闲连接
              max-idle: 8
              # 连接池的最大数据库连接数
              max-active: 8
              # #连接池最大阻塞等待时间(使用负值表示没有限制)
              max-wait: -1ms
      
    3. 文件存放目录,编辑 application.yml 文件,vim application.yml ,修改项目相关配置文件路径地址

      # 项目相关配置
      ruoyi:
        # 文件路径 示例( Windows配置D:/ruoyi/uploadPath,Linux配置 /data/tmp)
        profile: /data/tmp
      
    4. 端口号根据自己需求修改,在 application.yml 下修改

  • 打包,进入到项目文件夹目录下:cd /data/pro/RuoYi-Vue/,执行 maven 打包命令:maven clean package ,第一次需要下载 jar 包,需要等几分钟

  • 移动 jar ,进入 target 文件夹下 cd ruoyi-admin/target/,移动 ruoyi-admin.jar/data/pro/backend/ ,命令 mv ruoyi-admin.jar /data/pro/backend/

  • 启动,进入backend 文件夹下,执行 nohup java -jar ruoyi-admin.jar > nohup.out 2>&1 &

    查看是否启动成功 tail -200f nohup.out

    访问接口文档:http://ip:8080/swagger-ui/index.html,访问成功,则说明后端接口部署成功

前端部署

  • 安装依赖,进入 ui 页面文件夹下,cd /data/pro/RuoYi-Vue/ruoyi-ui/

    # 安装打包依赖
    npm install --unsafe-perm --registry=https://registry.npm.taobao.org
    
  • 打包正式环境

    npm run build:prod
    

    如果出现错误

    在这里插入图片描述

    执行 export NODE_OPTIONS=--openssl-legacy-provider 命令,再次执行 npm run build:prod

  • /data/pro/front 目录下创建 ruoyi-ui 文件夹,mkdir -p /data/pro/front/ruoyi-ui ,把打包好的 dist 文件夹下的移动到 ruoyi-ui 文件夹下,命令为 mv dist/* /data/pro/front/ruoyi-ui

nginx 配置

在安装好的 nginx 目录下,/data/nginx2/conf ,把以下 nginx 配置替换到 nginx.conf 文件中重新启动 nginx 即可,nginx 完整配置

user  root; 
worker_processes  auto;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;

    server {
        listen       80;
        server_name  localhost;
		charset utf-8;

		location / {
            root   /data/pro/front/ruoyi-ui;
			try_files $uri $uri/ /index.html;
            index  index.html index.htm;
        }
		
		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://localhost:8080/;
		}

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

打开浏览器,输入:http://ip 出现登录页面和验证码则说明前后端都已部署成功

好的,我会根据你的问题进行回答,但是在回答问题前,我需要先了解一些前置知识。 ruoyi是一个基于Spring Boot和Vue.js的前后端分离的开源框架,其中前端使用Vue.js实现,后端使用Spring Boot实现。因此,在部署前端并路由到后端时,需要分别完成前端后端部署工作。 以下是部署前端并路由到后端步骤: 1. 准备工作 在服务器上安装Node.js和npm,安装步骤可以参考官方网站。 2. 编译前端 在本地编译前端代码,生成dist目录,命令如下: ``` npm install npm run build ``` 3. 部署前端 将生成的dist目录上传到服务器上,可以使用FTP或者SCP等工具进行上传。 4. 配置Nginx 在服务器上安装Nginx,安装步骤可以参考官方网站。 在Nginx的配置文件中添加以下内容: ``` server { listen 80; server_name yourdomain.com; location / { root /path/to/dist; index index.html; try_files $uri $uri/ /index.html; } location /api/ { proxy_pass http://localhost:8080/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } ``` 其中,/path/to/dist是dist目录的路径,yourdomain.com是你的域名。 这段配置的作用是将所有以/api/开头的请求转发到Spring Boot后端,其余请求返回前端页面。 5. 启动Nginx和Spring Boot 启动Nginx和Spring Boot,访问你的域名即可看到前端页面。 希望以上步骤对你有所帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

师小师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值