这篇文章是介绍第二部分,将项目打包及部署到服务器上,并且修改相关配置。

192.168.38.132   -前端

192.168.38.133   -后端

192.168.38.134   -后端

三台服务器分别创建/root/workspace目录

一、前端192.168.38.132部署

首先将ruoyi的前端代码打包然后上传到132的服务器上,然后将其解压。目录在/root/workspace
在这里插入图片描述
在该目录下打开终端,输入下面命令

#下载包
npm install --unsafe-perm --registry=https://registry.npm.taobao.org

#打包
npm run build:prod

打包之后会生成dist文件夹,里面就是我们打包之后的文件
在这里插入图片描述部署前端nginx

cd /usr/local/nginx
cd sbin/
./nginx

配置Nginx.conf

        user  root;

        location / {
            root   /root/workspace/ruoyi-ui/dist;
            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://192.168.38.133:8080/;
        }

重新启动Nginx

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

开放8080端口
浏览器输入 :http://192.168.38.132/
发现就有界面了。

二、后端192.168.38.133/134部署

1、修改数据库、redis、log日志文件配置文件

首先将打开Ruoyi的后端代码,先修改一下配置
application-druid.yml
修改数据源,这里我是使用docker安装的mysql和redis,相关文章看《docker安装redis》和《docker安装mysql5.7

               url: jdbc:mysql://192.168.38.132:3310/ry-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8
                username: root
                password: 123456

这里我是3310端口映射出来的,如果这里报了com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure这个错误,请看这篇文章解决

useSSL=false

在这里插入图片描述

application.yml
修改redis,同样注意开放端口。
在这里插入图片描述

logback.xml
修改日志文件。这里的目录是你在Linux下运行jar或者war包后生成的日志文件夹,所以要去133和134服务器去增加这个目录。我就把目录放在了/home/whq/logs这个文件夹下。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如果发现这些文件上锁,说明是权限问题,使用这个命令修改一下就行了

chmod 777 logs

这样就修改好了相关配置,我们运行一下,发现没有错误,就可以将这个文件上传至133和134服务器上。

2、上传服务器

ruoyi这个文件拖至133和134服务器的/root/workspace文件下
在这里插入图片描述

3、jar包部署

然后在终端打开这个位置,使用命令将项目打成jar包

# 打包 jar 包
mvn package

就会生成target目录,目录下有ruoyi.jar包,将ruoyi.jar复制到ruoyi目录下
在这里插入图片描述
现在使用jar包部署

cd /root/workspace/ruoyi

nohup java -jar ruoyi.jar &

到这里就已经将前端和后端部署结束了
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4、war包部署

上面是使用jar包部署,现在使用war包部署

1)、修改配置文件pom.xml
	<packaging>war</packaging>


		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-tomcat</artifactId>
			<scope>provided</scope>
		</dependency>

在这里插入图片描述
在这里插入图片描述

2)、增加SpringBootRuoYiApplication.java
package com.ruoyi;

import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;

public class SpringBootRuoYiApplication extends SpringBootServletInitializer {
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        return builder.sources(RuoYiApplication.class);
    }
}

在这里插入图片描述

3)、将新修改的文件上传至服务器,重新打包
cd  cd /root/workspace/ruoyi
mvn clean
mvn package

这样就生成了war包,将war包复制到ruoyi目录下
在这里插入图片描述
现在使用war包部署

cd  /usr/local/tomcat/apache-tomcat-8.5.69/webapps
cp /root/workspace/ruoyi/ruoyi.war  ./
service tomcat start

此时外网就可以访问了http://192.168.38.133:8080/ruoyi/
配置一下根目录访问
到Tomcat目录的conf文件夹下的server.xml

<Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">

        <Context  path="/"  docBase="/usr/local/tomcat/apache-tomcat-8.5.69/webapps/ruoyi" reloadable="false"></Context>

保存,然后重新开启Tomcat就可以了

service tomcat stop
service tomcat start

这样就完成了war包部署项目了。

5、相同的操作将134服务器部署

134服务器重复上面的步骤就可以了。

三、后端192.168.38.133/134部署集群

使用132的服务器配置Nginx集群

1、修改Nginx.conf文件



    upstream ruoyi{
    	server  192.168.38.133:8080  weight=5;
    	server  192.168.38.134:8080  weight=3;
    }
         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://ruoyi/;
        }

然后保存退出,这里配置的权重weight=5;
现在打开前端界面测试一下,集群是否部署起来了。

四、测试集群

1、退出登录,重新登录

在这里插入图片描述

2、查看133和134的服务器是否有logs文件

在这里插入图片描述

三个文件都在!

3、查看日志

133和134的服务器进logs 目录查看日志。

tail -f sys-info.log

在这里插入图片描述

在这里插入图片描述
这里我们进入前端,输入错误的验证码
在这里插入图片描述
然后进行测试
在这里插入图片描述

然后就发现日志报错,集群效果做出来了。到这里就已经成功了!!

五、完整的文档如下

服务器

192.168.38.132

192.168.38.133

192.168.38.134

前端命令

下载包
npm install --unsafe-perm --registry=https://registry.npm.taobao.org
cnpm install --unsafe-perm --registry=https://registry.npm.taobao.org

打包
npm run build:prod

后端命令

打包 jar 包
mvn package

打包 war 包
<packaging>war</packaging>


		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-tomcat</artifactId>
			<scope>provided</scope>
		</dependency>


package com.ruoyi;

import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;

public class SpringBootRuoYiApplication extends SpringBootServletInitializer {
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        return builder.sources(RuoYiApplication.class);
    }
}




mvn clean


部署前端

cd /usr/local/nginx
cd sbin/
./nginx


配置Nginx.conf

        location / {
            root   /root/workspace/ruoyi-ui/dist;
            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://192.168.38.133:8080/;
        }



开放端口
#查看开放的端口132的服务器
firewall-cmd --list-port
#如果没有11111的端口,就打开
firewall-cmd --zone=public --add-port=80/tcp --permanent
#重启防火墙
firewall-cmd --reload
#查看11111端口是否开启
firewall-cmd --query-port=8080/tcp

浏览器输入  :http://192.168.38.132/

重新启动Nginx
 /usr/local/nginx/sbin/nginx  -s reload



开放端口
#查看开放的端口133的服务器
firewall-cmd --list-port
#如果没有11111的端口,就打开
firewall-cmd --zone=public --add-port=8080/tcp --permanent
#重启防火墙
firewall-cmd --reload
#查看11111端口是否开启
firewall-cmd --query-port=8080/tcp

现在使用jar包部署
nohup java -jar ruoyi.jar &

现在使用war包部署
cd  /usr/local/tomcat/apache-tomcat-8.5.69/webapps
cp /root/workspace/ruoyi/ruoyi.war  ./
service tomcat start
此时外网就可以访问了http://192.168.38.133:8080/ruoyi/
配置一下根目录访问
到Tomcat目录的conf文件夹下的server.xml
<Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">

        <Context  path="/"  docBase="/usr/local/tomcat/apache-tomcat-8.5.69/webapps/ruoyi" reloadable="false"></Context>
    
这样就可以访问根目录了

    
同样配置134的服务器;;
    
    
 
 
132的服务器配置Nginx集群
    
        upstream ruoyi{
    	server  192.168.38.133:8080  weight=5;
    	server  192.168.38.134:8080  weight=3;
    }
    
     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://ruoyi/;
        }
    

监测日志

tail -f sys-info.log

Logo

快速构建 Web 应用程序

更多推荐