# 部署说明

本系统基于ruoyi-vue快速开发平台开发，本文档将简述部署和运行过程，如有问题请参见[官方文档](https://doc.ruoyi.vip/ruoyi-vue/)。

## 1.安装依赖软件

* JDK >= 1.8 (推荐1.8版本)
* Mysql >= 5.7.0 (推荐5.7版本)
* Redis >= 3.0 
* Maven >= 3.0 
* Node >= 12
* Nginx


## 2. 导入数据库脚本

将<项目根目录>\sql目录下的ry_20231130.sql和quartz.sql导入MySQL数据库。

## 3. 打包后端

在命令提示符或终端中进入项目根目录，执行如下命令：
```shell
mvn clean package
```
命令执行完成后，会在<项目根目录>\ruoyi-admin\target目录下生成一个jar包ruoyi-admin.jar， 
这个就是SpringBoot的可运行jar包，可以直接用java -jar命令来运行。

## 4. 后端配置

在<项目根目录>\后端部署目录下提供了一份模板配置文件application.yml，里面有详细的说明，可以根据需要修改。

## 5. 启动后端

将ruoyi-admin.jar和application.yml复制到部署目录，并执行如下命令启动后台服务：
```shell
java -jar ruoyi-admin.jar
```

## 6. 打包前端

在命令提示符或终端中进入<项目根目录>\ruoyi-ui目录，执行如下命令：
```shell
npm install
npm run build:prod
```
构建打包成功之后，会在根目录生成 dist 文件夹，里面就是构建打包好的前端文件，通常是 ***.js 、***.css、index.html 等静态文件。

## 7. nginx配置

将前端dist文件夹拷贝到部署目录，并修改nginx配置文件。

假设部署之后的前端文件夹为 /usr/local/yaoyibi/frontend，后端访问地址为http://localhost:8080，nginx配置如下：

```text
server {
    listen       80;
    server_name  _;
    charset utf-8;

    location / {
        root   /usr/local/yaoyibi/frontend;
        try_files $uri $uri/ /index.html;
        index  index.html index.htm;
    }
    
    location /backend/ {
        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;
    }
}
```

检测nginx配置文件语法是否正确：
```shell
nginx -t
```

重启nginx服务：
```shell
service nginx restart
```

## 8、访问地址

浏览器访问：http://localhost

默认账号/密码：admin/admin123