一、前端部署
1.找到ruoyi-ui目录。
2.安装依赖。
npm install
3.执行以下操作,解决 npm 下载速度慢的问题。
npm install --registry=https://registry.npmmirror.com
4.修改vue.config.js,若后端采用的是默认8080端口,则不用修改,默认就是8080端口。
5.打包,执行如下命令。
npm run build:pro
执行完命令,会在ruoyi-ui目录下生成dist文件,将此文件复制到linux某个目录下,如下图:
在dist目录下,新建WEB-INF文件夹,进入WEB-INF,新建web.xml文件,添加如下内容:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1" metadata-complete="true">
<display-name>Router for Tomcat</display-name>
<error-page>
<error-code>404</error-code>
<location>/index.html</location>
</error-page>
</web-app>
二、nginx配置(自行安装)
1.配置nginx.conf文件
location /{
root /data/ruoyi/project/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;
proxy_pass http://localhost:6007/;
}
2.配置完启动nginx,若已启动,则重新加载
3.此时在浏览器里输入地址 {服务器公网ip}:{前端端口号}
看到如下页面,则说明前端部署成功了,502是因为后端还未启动
三、后端部署
官网要求:
1.修改ruoyi-admin中pom.xml,打成war包
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<!--忽略掉内嵌的tomca 打包部署到tomcat -->
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
2.配置application.yml,修改文件路径,服务端口,以及Redis
3. 配置application-druid.yml,配置数据源
4.修改logback.xml中的日志路径
5.推荐先clean,再package进行打包
6.打包成功后,会在ruoyi-admin,target目录下,生成对应的war包
7.将此war包上传至tomcat,webapps目录下
四、 配置tomcat
1.找到tomcat配置文件server.xml
2.修改server.xml端口(根据自己的项目确定是否要修改)
3.修改server.xml中的Host,添加Context
<Context docBase="/usr/local/tomcat9/apache-tomcat-9.0.68/webapps/ruoyi-admin" path="" reloadable="false" crossContext="true"/>
4.配置完成以后,重新启动tomcat
5.查看tomcat启动日志,若未出错,在浏览器重新输入 {服务器公网ip}:{前端端口号},若出现了验证码,则说明前后端均已部署成功。