欢迎回来,接下来,要把若依项目部署到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

若依项目docker build 若依项目部署linux_nginx


此时在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/;
        }

运行命令行

若依项目docker build 若依项目部署linux_node.js_02

# /usr/local/nginx/sbin/nginx -s reload

大功告成!

若依项目docker build 若依项目部署linux_若依项目docker build_03

到这,就可以好好研究源码了,进阶大tu神tou程序员不是梦。滑稽