若依前后端分离项目,部署到Linux服务器

转载至:?若依前后端分离项目,部署到Linux服务器_51CTO博客_前后端分离 服务器

本文表格内数据展示,不如原文。对于表格内数据,建议copy原文使用

Gitee地址: https://gitee.com/y_project/RuoYi-Vue.git

一、项目本地启动(Windows)


maven:3.6.3

jdk:1.8

mysql:8.0.18

1.1、后端项目配置,启动


       1、创建数据库

                1、创建数据库:ry-vue
                2、执行两个SQL文件:sql/quartz.sql、sql/ry_20230223.sql


        2、修改配置文件:ruoyi-admin/application.yml

                修改mysql连接信息
                修改redis连接信息
                修改项目启动端口号,这里我修改为了8058


         3、启动后端项目

                浏览器访问:http://localhost:8058/

                

1.2、前端项目配置,启动


NodeJs版本:v16.18.1

NodeJs历史版本下载地址: https://nodejs.org/dist/

NodeJs安装

        

        1、修改配置

                修改ruoyi-ui/vue.config.js

// 修改前端项目端口
const port = process.env.port || process.env.npm_config_port || 8060 // 端口

// 后端项目ip和端口
target: `http://localhost:8058`,


        2、构建启动  

        

# 进入项目目录
cd ruoyi-ui
# 安装依赖(建议不要直接使用 cnpm 安装依赖,会有各种诡异的 bug。可以通过如下操作解决 npm 下载速度慢的问题)
npm install --registry=https://registry.npmmirror.com --strict-ssl=false
# 启动服务
npm run dev


        3、访问

                浏览器访问:http://localhost:8060/

                默认用户名密码:admin  admin123

                

        4、通过idea启动前端项目

        

二、Linux下项目部署


Centos版本:Centos7.4

虚拟机IP:192.168.147.128

2.1、后端项目部署(Jar包)

        1、使用idea在本地maven打包

        

        2、上传jar包到服务器

        3、编写shell脚本执行:start_ruoyi_admin.sh

#!/bin/bash

# 1、常量
LOG_PATH=/usr/local/project/ruoyi/log.out     # 日志输出位置
JAVA_PATH=/usr/local/java/jdk1.8.0_144  # JDK位置
PROJECT_MANAGER_PATH=/usr/local/project/ruoyi/ruoyi-admin/ruoyi-admin.jar  # 后端项目位置
SERVER_PORT=8058 # 服务端口
# 记录开始时间
echo -e "\e[34m ==================start【$(date +"%Y-%m-%d %H:%M:%S")】================== \e[0m" >> $LOG_PATH

# 2、启动项目的函数
function start_project {
  nohup $JAVA_PATH/bin/java -jar -Dserver.port=$SERVER_PORT $PROJECT_MANAGER_PATH >>$LOG_PATH 2>&1 &
}

# 3、获取进程ID
PID=$(pgrep -f $PROJECT_MANAGER_PATH)

# 4、判断进程是否存在
if pgrep -f $PROJECT_MANAGER_PATH > /dev/null
then
  echo "进程存在,关闭项目,然后重启~" >> $LOG_PATH
  kill "$PID"
  sleep 5
  kill -9 "$PID" > /dev/null 2>&1
  start_project
else
  echo "进程不存在,启动项目" >> $LOG_PATH
  start_project
fi

# 记录结束时间
echo -e "\e[34m ==================end【$(date +"%Y-%m-%d %H:%M:%S")】================== \e[0m" >> $LOG_PATH


        4、启动 

        

2.2、后端项目部署(War包)[根据需要,可选]


        Tomcat中部署SpringBoot项目

2.3、前端项目部署


        因为需要将vue程序部署到nginx,这里需要安装下。

        Nginx安装

       NodeJs安装

        

        1、前端vue发布部署

  构建打包成功之后,会在根目录生成 dist 文件夹,里面就是构建打包好的文件,通常是 ***.js 、***.css、index.html 等静态文件

        发布到你的 nginx 或者静态服务器即可,其中的 index.html 是后台服务的入口页面。

1、上传ruoyi-ui到Linux服务器,进入ruoyi-ui目录下

2、安装依赖:
    npm install --registry=https://registry.npmmirror.com --strict-ssl=false
    
3、第一种:运行(本地),直接通过ip加端口访问
    nohup npm run dev >> npm.out 2>&1 &
    
4、第二种:部署/打包,通过nginx进行发布
    npm run build:prod
    
4.2、nginx发布

server {
    # 1、vue项目端口
    listen       8060;
    server_name  localhost;

    location / {
        # 2、打包的文件路径
        root /usr/local/project/ruoyi/ruoyi-ui/dist;
        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;
        # 3、后端项目访问地址
        proxy_pass http://localhost:8058/;
    }

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

5、关闭前端vue项目:
    ps -ef|grep mixky-ui|grep -v grep | awk '{print $2}' | xargs kill -9


        2、浏览器访问: http://192.168.147.128:8060/

        
-----------------------------------
原文出处:https://blog.51cto.com/zhangzhixi/6456496

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CentOS是一款流行的Linux操作系统,适合部署各种类型的项目若依是一个基于SpringBoot框架开发的通用权限管理系统,采用前后端分离的架构。下面将详细讲述如何在CentOS上部署若依前后端分离项目。 1.安装Java环境。 若依是基于Java开发的系统,所以需要安装Java环境。可通过以下命令进行安装: yum install java-1.8.0-openjdk-devel 2.安装MySQL数据库。 若依需要使用MySQL数据库进行数据存储。可通过以下命令进行安装: yum install mysql-server mysql 3.安装Nginx。 Nginx是一款高性能的Web服务器,也是实现前后端分离的关键组件。可通过以下命令进行安装: yum install nginx 4.部署若依后端。 将若依的后端代码部署到CentOS服务器上,并在MySQL数据库中创建对应的数据库和数据表。在application-*.yml配置文件中设置数据库连接信息和端口号等相关配置。 5.部署若依前端。 将若依的前端代码部署到Nginx服务器上,并在Nginx配置文件中设置代理转发规则。例如,将/api开头的请求转发到后端的对应接口上。 6.启动服务。 分别启动后端服务和Nginx服务,可通过Systemd进行管理。在后端接口正常提供服务的情况下,可以通过浏览器访问Nginx服务器的IP地址和端口号,查看前端界面。 总之,通过上述步骤可以在CentOS服务器上成功部署若依前后端分离项目,实现良好的用户体验和数据存储。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值