# 应用部署
- - -
## 版本 >= 1.3.0
### 请优先阅读 [idea环境配置](/ruoyi-cloud-plus/quickstart/idea_environment.md)
## 手动部署
在服务器安装 `mysql` `redis` `nginx` `minio` 等其他组件
将项目内 `docker/` 文件夹下的文件内容 放到对应的组件内
例如: 将项目内 `docker/nginx/nginx.conf` 配置文件 复制到 `nginx` 配置内
将项目内 `docker/redis/redis.conf` 配置文件 复制到 `redis` 配置内
并修改相关参数如 `前端页面存放位置` `后端Ip地址` 等使其生效
jar包部署后端服务 打包命令如下
```mvn
mvn clean install -D maven.test.skip=true -P prod
```
前端参考下方前端部署章节
## docker 后端部署
### 请优先阅读 [idea环境配置](https://gitee.com/dromara/RuoYi-Cloud-Plus/wikis/pages?sort_id=5985190&doc_id=2056143)
**重点: 一知半解的必看**
> [docker安装](https://lionli.blog.csdn.net/article/details/83153029)
> [docker-compose安装](https://lionli.blog.csdn.net/article/details/111220320)
> [docker网络模式讲解](https://lionli.blog.csdn.net/article/details/109603785)
> [docker 开启端口 2375 供外部程序访问](https://lionli.blog.csdn.net/article/details/92627962)
### 将配置使用FTP上传到根目录
idea拖拽文件到远程目录即可上传

### 给docker分配文件夹权限
**重点注意: 一定要确保目录 `/docker` 及其所有子目录 具有写权限 如果后续出现权限异常问题 重新执行一遍分配权限**

```shell
chmod -R 777 /docker
```
### 构建应用镜像
**1.需要先使用maven打包成jar包**

**2.执行构建**
> 项目初始化后会自动生成构建镜像的运行配置
配置好docker连接之后 运行如下即可构建对应的应用镜像
**重点注意: idea2024及以上版本要求必须在本地安装docker才可以执行如下操作**


**3.结构讲解**
右键编辑 即可看到内部配置


### 创建基础服务
```shell
docker-compose up -d mysql nginx-web redis minio
```
### 创建中心服务(需要先构建服务镜像)
1.X
```shell
docker-compose up -d nacos seata-server sentinel ruoyi-monitor ruoyi-xxl-job-admin
```
2.X
```shell
docker-compose up -d nacos seata-server sentinel ruoyi-monitor ruoyi-snailjob-server
```
### 创建业务服务(需要先构建服务镜像)
```shell
docker-compose up -d ruoyi-gateway ruoyi-auth ruoyi-system ruoyi-resource
```
### docker其他操作(idea的docker插件 推荐使用)

## 前端部署
执行打包命令
```shell
# 打包正式环境
npm run build:prod
```
打包后生成打包文件在 `ruoyi-ui/dist` 目录
将 `dist` 目录下文件(不包含 `dist` 目录) 上传到部署服务器 `docker/nginx/html` 目录下(手动部署放入自己配置的路径即可)

重启 `nginx` 服务即可
### 如需更改后端代理路径或者后端ip地址的话往下看
更改`nginx.conf`配置文件代理路径(注意: /开头/结尾)

更改前端`.env.环境` 文件内的 `VITE_APP_BASE_API`

更改`nginx.conf`配置文件后端ip地址
