欢迎回来,接下来,要把若依项目部署到linux上。
目录
- 1.上传+打包
- 在192.168.xxx.106上部署前端:
- 在192.168.xxx.107上部署后端:
- 打包war包的方式(alternative)
- 2.前端部署
- 3.后端部署(easy)
- 4.前后端关联(!!!)
- 到这,就可以好好研究源码了,进阶大tu神tou程序员不是梦。滑稽
1.上传+打包
可以在本地打包成jar包扔到服务器上。也可以把源码传到服务器上,在服务器上打包成jar包
本文用的是后者。
我是在192.168.0.106上部署前端。在192.168.0.107上部署后端。
需要把源码压缩上传,尤其是前端项目,不然可能会丢失部分隐藏文件。不要问我为什么555
在192.168.xxx.106上部署前端:
压缩前端源代码,用sftp软件上传。之后解压:
# unzip ruoyi-ui.zip //解压
# rm -rf ruoyi-ui.zip //删除压缩包
第一步。cd到ruoyi-ui下面,安装依赖
# npm install --unsafe-perm --registry=https://registry.npm.taobao.org
打包前端,生成dist目录
# npm run build:prod
dist就是等会要运行的静态文件总和,里面放了html、js、图片等等。
在192.168.xxx.107上部署后端:
第一步。cd到ruoyi下面,打包jar包
mvn package
完成之后,发现多了个target文件夹,里面放的ruoyi.jar,即为所得。
打包war包的方式(alternative)
1.需要打开rom.xml文件,修改配置。
把
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi</artifactId>
<version>2.3.0</version>
<packaging>jar</packaging>
改成:
<packaging>war</packaging>
2.由于spingboot自带tomcat,要把他自带的tomcat给排除掉,才能部署到外部的tomcat
在他下面
<!-- SpringBoot Web容器 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
添加
<!-- SpringBoot Web容器 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- 内嵌tomcat在发布时剔除 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
3.默认springboot启动类是RuoYiApplication主类
要在同级目录下添加一个SpringBootStartApplication类
package com.ruoyi;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
public class SpringBootStartApplication extends SpringBootServletInitializer {
//辅助类,指向原先的启动类RuoYiApplication
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources( RuoYiApplication.class );
}
}
plus:打完jar包,再打war包。记得:
mvn clean //先清除
mvn package //在打包
2.前端部署
原理:告诉nginx,你的静态文件在哪里
——>即在nginx.conf中修改配置文件
/usr/local/nginx/conf/nginx.conf
user root; //修改用户为root
...
...
...
location / {
root /root/workspace/ruoyi-ui/dist;//成品文件dist所在的文件地址
index index.html index.htm;
}
到/usr/local/nginx/sbin/下,启动./nginx
# ./nginx
前端完成。
3.后端部署(easy)
直接运行jar包
# nohup java -jar ruoyi.jar &
改动过后,记得clear
# clear
4.前后端关联(!!!)
登录前端,F12后发现报错信息,前面有一个转发路径prod-api
此时在nginx下配置代理,让他通往后端。添加location
我后端部署在192.168.xxx.107,端口是8203。因此这么写
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://192.168.xxx.107:8203/;
}
运行命令行
# /usr/local/nginx/sbin/nginx -s reload
大功告成!
到这,就可以好好研究源码了,进阶大tu神tou程序员不是梦。滑稽