欢迎回来,接下来,要把若依项目部署到linux上。
可以在本地打包成jar包扔到服务器上。也可以把源码传到服务器上,在服务器上打包成jar包
本文用的是后者。
我是在192.168.0.106上部署前端。在192.168.0.107上部署后端。
需要把源码压缩上传,尤其是前端项目,不然可能会丢失部分隐藏文件。不要问我为什么555
压缩前端源代码,用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、图片等等。
第一步。cd到ruoyi下面,打包jar包
mvn package
完成之后,发现多了个target文件夹,里面放的ruoyi.jar,即为所得。
1.需要打开rom.xml文件,修改配置。
把
com.ruoyi
ruoyi
2.3.0
jar
改成:
war
2.由于spingboot自带tomcat,要把他自带的tomcat给排除掉,才能部署到外部的tomcat
在他下面
org.springframework.boot
spring-boot-starter-web
添加
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-tomcat
provided
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 //在打包
原理:告诉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
前端完成。
直接运行jar包
# nohup java -jar ruoyi.jar &
改动过后,记得clear
# clear
登录前端,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