Nginx+Tomcat(多实例)实现动静分离和负载均衡(四层、七层)

这篇具有很好参考价值的文章主要介绍了Nginx+Tomcat(多实例)实现动静分离和负载均衡(四层、七层)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

 

一、Tomcat 多实例部署

二、反向代理的两种类型

三、Nginx+Tomcat实现负载均衡和动静分离(七层代理)

1.动静分离和负载均衡原理

2.实现方法 

3.部署实例

(1)部署Nginx负载均衡服务器

(2)配置Tomcat多实例服务器1 (第一部分已完成)

(3)配置Tomcat服务器2

(4)添加动态和静态测试页面

​编辑

四、四层代理实例

1.增设nginx服务器(七层代理)

2.增设负载均衡器(四层代理)


 

一、Tomcat 多实例部署

1.在安装好jdk环境后,添加两例tomcat服务

#解压安装包
cd /opt
tar zxvf apache-tomcat-9.0.16.tar.gz

#移动并复制一例
mkdir /usr/local/tomcat
mv apache-tomcat-9.0.16 /usr/local/tomcat/tomcat1
cp -a /usr/local/tomcat/tomcat1 /usr/local/tomcat/tomcat2

Nginx+Tomcat(多实例)实现动静分离和负载均衡(四层、七层),服务器,nginx,linux,运维,tomcat,负载均衡,反向代理

2.添加tomcat环境变量

vim /etc/profile.d/tomcat.sh

#tomcat1
export CATALINA_HOME1=/usr/local/tomcat/tomcat1
export CATALINA_BASE1=/usr/local/tomcat/tomcat1
export TOMCAT_HOME1=/usr/local/tomcat/tomcat1

#tomcat2
export CATALINA_HOME2=/usr/local/tomcat/tomcat2
export CATALINA_BASE2=/usr/local/tomcat/tomcat2
export TOMCAT_HOME2=/usr/local/tomcat/tomcat2

#启用文件
source /etc/profile.d/tomcat.sh

Nginx+Tomcat(多实例)实现动静分离和负载均衡(四层、七层),服务器,nginx,linux,运维,tomcat,负载均衡,反向代理

3.修改 tomcat2 中的 server.xml 文件,要求各 tomcat 实例配置不能有重复的端口号

vim /usr/local/tomcat/tomcat2/conf/server.xml ,修改以下字段的端口号

第一个端口默认为8005,用于监听shutdown关闭信息

第一个连接器默认监听8080端口,负责建立HTTP连接。在通过浏览器访问Tomcat服务器的Web应用时,使用的就是这个连接器。


第二个连接器默认监听8009端口,AJP端口,即容器使用,如Apache能通过AJP协议访问Tomcat的8009端口。

Nginx+Tomcat(多实例)实现动静分离和负载均衡(四层、七层),服务器,nginx,linux,运维,tomcat,负载均衡,反向代理

Nginx+Tomcat(多实例)实现动静分离和负载均衡(四层、七层),服务器,nginx,linux,运维,tomcat,负载均衡,反向代理

Nginx+Tomcat(多实例)实现动静分离和负载均衡(四层、七层),服务器,nginx,linux,运维,tomcat,负载均衡,反向代理

4.修改两个 tomcat 实例中的 startup.sh 和 shutdown.sh 文件,添加 tomcat 环境变量

vim /usr/local/tomcat/tomcat1/bin/startup.sh

Nginx+Tomcat(多实例)实现动静分离和负载均衡(四层、七层),服务器,nginx,linux,运维,tomcat,负载均衡,反向代理

vim /usr/local/tomcat/tomcat1/bin/shutdown.sh

Nginx+Tomcat(多实例)实现动静分离和负载均衡(四层、七层),服务器,nginx,linux,运维,tomcat,负载均衡,反向代理

vim /usr/local/tomcat/tomcat2/bin/startup.sh

Nginx+Tomcat(多实例)实现动静分离和负载均衡(四层、七层),服务器,nginx,linux,运维,tomcat,负载均衡,反向代理

vim /usr/local/tomcat/tomcat2/bin/shutdown.sh 

Nginx+Tomcat(多实例)实现动静分离和负载均衡(四层、七层),服务器,nginx,linux,运维,tomcat,负载均衡,反向代理

5.启动两例 tomcat 运行各自的 startup.sh 文件 

/usr/local/tomcat/tomcat1/bin/startup.sh 
/usr/local/tomcat/tomcat2/bin/startup.sh 

Nginx+Tomcat(多实例)实现动静分离和负载均衡(四层、七层),服务器,nginx,linux,运维,tomcat,负载均衡,反向代理

检查是否都开启了 

Nginx+Tomcat(多实例)实现动静分离和负载均衡(四层、七层),服务器,nginx,linux,运维,tomcat,负载均衡,反向代理

6.测试访问两个端口 8080和8081

Nginx+Tomcat(多实例)实现动静分离和负载均衡(四层、七层),服务器,nginx,linux,运维,tomcat,负载均衡,反向代理

Nginx+Tomcat(多实例)实现动静分离和负载均衡(四层、七层),服务器,nginx,linux,运维,tomcat,负载均衡,反向代理

二、反向代理的两种类型

1.基于七层协议(http、https、mail) 的反向代理

2.基于四层的 IP 和(TCP/UDP)端口的反向代理

三、Nginx+Tomcat实现负载均衡和动静分离(七层代理)

1.动静分离和负载均衡原理

Nginx处理静态页面的效率远高于Tomcat的处理能力
若Tomcat的请求量为1000次,则Nginx的请求量为6000次

Tomcat每秒的吞吐量为0.6M,Nginx的每秒吞吐量为3.6M

Nginx处理静态资源的能力是Tomcat处理的6倍

        由于Nginx服务是轻量级、高性能,处理静态页面强,但是几乎不能处理动态页面,所以需要转发给多台tomcat服务器处理动态页面请求。

        负载均衡是以Nginx为复制均衡器,Tomcat作为应用服务器。Nginx的负载均衡是通过反向代理实现的。反向代理即作为服务端的代理,接受客户端的请求,并根据配置转发给后端的tomcat服务器,处理完之后再通过nginx返回给客户端。

Nginx+Tomcat(多实例)实现动静分离和负载均衡(四层、七层),服务器,nginx,linux,运维,tomcat,负载均衡,反向代理

2.实现方法 

nginx + tomcat 动静分离

        nginx使用location去正则匹配用户的访问路径的前缀或者后缀,去判断接收的请求是静态的还是动态的,静态资源请求在Nginx本地进行处理响应,动态页面请求通过反向代理转发给后端应用服务器

负载均衡

        使用反向代理,先在http块中使用upstream模块定义服务器组名和服务器列表,使用location匹配路径再用proxy_pass http://... 服务器组名进行七层代理转发。

Nginx+Tomcat(多实例)实现动静分离和负载均衡(四层、七层),服务器,nginx,linux,运维,tomcat,负载均衡,反向代理

3.部署实例

实验准备

Liunx服务器
Tomcat服务器1:192.168.116.10:8080  192.168.116.10:8081(多实例部署,参考上面)

Tomcat服务器2:192.168.116.20:8080

Nginx 服务器:192.168.116.30:80

windows客户端 

192.168.116.100 用于访问网页测试

(1)部署Nginx负载均衡服务器

关闭防火墙和selinux

Nginx+Tomcat(多实例)实现动静分离和负载均衡(四层、七层),服务器,nginx,linux,运维,tomcat,负载均衡,反向代理

安装前工作

#下载依赖工具
yum -y install pcre-devel zlib-devel openssl-devel gcc gcc-c++ make

#准备nginx程序用户
useradd -M -s /sbin/nologin nginx

准备nginx安装包

Nginx+Tomcat(多实例)实现动静分离和负载均衡(四层、七层),服务器,nginx,linux,运维,tomcat,负载均衡,反向代理

编译安装

--prefix=/usr/local/nginx 指定安装路径
--user=nginx
--group=nginx
指定用户和用户组
--with-file-aio 启用文件修改支持
--with-http_stub_status_module 启用状态统计
--with-http_gzip_static_module 启用 gzip静态压缩
--with-http_flv_module 启用 flv模块,提供对 flv 视频的伪流支持
--with-http_ssl_module 启用 SSL模块,提供SSL加密功能
--with-stream 启用 stream模块(实现反向代理必须条件)
#解压安装包
tar zxvf nginx-1.12.0.tar.gz

#自定义编译安装
cd nginx-1.12.0/

./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-file-aio --with-http_stub_status_module --with-http_gzip_static_module --with-http_flv_module --with-stream

make && make install

#优化路径便于使用
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/

添加到系统服务(使用systemctl管理)

#编写nginx系统服务文件
vim /lib/systemd/system/nginx.service
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx
ExecrReload=/bin/kill -s HUP $MAINPID
ExecrStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target

#打开nginx服务
chmod 754 /lib/systemd/system/nginx.service
systemctl start nginx.service
systemctl enable nginx.service

检查nginx是否开启成功

Nginx+Tomcat(多实例)实现动静分离和负载均衡(四层、七层),服务器,nginx,linux,运维,tomcat,负载均衡,反向代理

(2)配置Tomcat多实例服务器1 (第一部分已完成)

(3)配置Tomcat服务器2

关闭防火墙和selinux

Nginx+Tomcat(多实例)实现动静分离和负载均衡(四层、七层),服务器,nginx,linux,运维,tomcat,负载均衡,反向代理

准备jdk和tomcat包

Nginx+Tomcat(多实例)实现动静分离和负载均衡(四层、七层),服务器,nginx,linux,运维,tomcat,负载均衡,反向代理

配置jdk环境

#解压到/usr/local/目录下
tar zxvf jdk-8u91-linux-x64.tar.gz -C /usr/local/

#配置java环境变量
vim /etc/profile.d/java.sh
export JAVA_HOME=/usr/local/jdk1.8.0_91
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin:$PATH

#启用配置
source /etc/profile.d/java.sh

部署tomcat

#解压并移动
tar zxvf apache-tomcat-9.0.16.tar.gz
mv apache-tomcat-9.0.16 /usr/local/tomcat

#启动tomcat
/usr/local/tomcat/bin/startup.sh

检查tomcat是否启动

Nginx+Tomcat(多实例)实现动静分离和负载均衡(四层、七层),服务器,nginx,linux,运维,tomcat,负载均衡,反向代理

(4)添加动态和静态测试页面

Tomcat服务器1:8080添加动态测试页面

在/usr/local/tomcat/tomcat1/webapps/test/ 下编写一个简单的jsp页面

Nginx+Tomcat(多实例)实现动静分离和负载均衡(四层、七层),服务器,nginx,linux,运维,tomcat,负载均衡,反向代理

Nginx+Tomcat(多实例)实现动静分离和负载均衡(四层、七层),服务器,nginx,linux,运维,tomcat,负载均衡,反向代理

添加配置并重启服务

Nginx+Tomcat(多实例)实现动静分离和负载均衡(四层、七层),服务器,nginx,linux,运维,tomcat,负载均衡,反向代理

Nginx+Tomcat(多实例)实现动静分离和负载均衡(四层、七层),服务器,nginx,linux,运维,tomcat,负载均衡,反向代理

Tomcat服务器1:8081添加动态测试页面

在/usr/local/tomcat/tomcat2/webapps/test/ 下编写一个简单的jsp页面

Nginx+Tomcat(多实例)实现动静分离和负载均衡(四层、七层),服务器,nginx,linux,运维,tomcat,负载均衡,反向代理

Nginx+Tomcat(多实例)实现动静分离和负载均衡(四层、七层),服务器,nginx,linux,运维,tomcat,负载均衡,反向代理

添加配置并重启服务

Nginx+Tomcat(多实例)实现动静分离和负载均衡(四层、七层),服务器,nginx,linux,运维,tomcat,负载均衡,反向代理

Nginx+Tomcat(多实例)实现动静分离和负载均衡(四层、七层),服务器,nginx,linux,运维,tomcat,负载均衡,反向代理

Tomcat服务器2:8080 添加动态测试页面

在/usr/local/tomcat/webapps/test/ 下编写一个简单的jsp页面

Nginx+Tomcat(多实例)实现动静分离和负载均衡(四层、七层),服务器,nginx,linux,运维,tomcat,负载均衡,反向代理

Nginx+Tomcat(多实例)实现动静分离和负载均衡(四层、七层),服务器,nginx,linux,运维,tomcat,负载均衡,反向代理

添加配置并重启服务

Nginx+Tomcat(多实例)实现动静分离和负载均衡(四层、七层),服务器,nginx,linux,运维,tomcat,负载均衡,反向代理

Nginx+Tomcat(多实例)实现动静分离和负载均衡(四层、七层),服务器,nginx,linux,运维,tomcat,负载均衡,反向代理

Nginx 服务器添加静态测试页面

Nginx+Tomcat(多实例)实现动静分离和负载均衡(四层、七层),服务器,nginx,linux,运维,tomcat,负载均衡,反向代理

(5)在nginx服务器配置文件中添加动静分离配置(七层代理)

Nginx+Tomcat(多实例)实现动静分离和负载均衡(四层、七层),服务器,nginx,linux,运维,tomcat,负载均衡,反向代理

Nginx+Tomcat(多实例)实现动静分离和负载均衡(四层、七层),服务器,nginx,linux,运维,tomcat,负载均衡,反向代理

检查语法并重启服务

Nginx+Tomcat(多实例)实现动静分离和负载均衡(四层、七层),服务器,nginx,linux,运维,tomcat,负载均衡,反向代理

(6)使用windows客户端测试访问静态和动态页面

访问nginx服务器地址下的静态页面

Nginx+Tomcat(多实例)实现动静分离和负载均衡(四层、七层),服务器,nginx,linux,运维,tomcat,负载均衡,反向代理

访问nginx服务器地址下的动态页面(会转发给tomcat处理)

Nginx+Tomcat(多实例)实现动静分离和负载均衡(四层、七层),服务器,nginx,linux,运维,tomcat,负载均衡,反向代理

Nginx+Tomcat(多实例)实现动静分离和负载均衡(四层、七层),服务器,nginx,linux,运维,tomcat,负载均衡,反向代理

Nginx+Tomcat(多实例)实现动静分离和负载均衡(四层、七层),服务器,nginx,linux,运维,tomcat,负载均衡,反向代理

刷新会实现轮询处理,也就是实现了负载均衡

四、四层代理实例

实验架构图

Nginx+Tomcat(多实例)实现动静分离和负载均衡(四层、七层),服务器,nginx,linux,运维,tomcat,负载均衡,反向代理

在第三部分已经部署好了两台tomcat服务器和七层代理nginx服务器,现在需要增设一台nginx服务器和一台四层代理服务器。 

1.增设nginx服务器(七层代理)

之前的nginx服务器使用的是源码安装,可以使用yum安装,配置文件位置会有所不同。

yum安装nginx服务

#添加yum源
vim /etc/yum.repos.d/nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1

#安装
yum install -y nginx

#启动服务
systemctl start nginx
systemctl enable nginx

 Nginx+Tomcat(多实例)实现动静分离和负载均衡(四层、七层),服务器,nginx,linux,运维,tomcat,负载均衡,反向代理

在/etc/nginx/nginx.conf的http块中添加upstream指定服务器池

Nginx+Tomcat(多实例)实现动静分离和负载均衡(四层、七层),服务器,nginx,linux,运维,tomcat,负载均衡,反向代理

在/etc/nginx/conf.d/default.conf的server块中添加主要location配置

Nginx+Tomcat(多实例)实现动静分离和负载均衡(四层、七层),服务器,nginx,linux,运维,tomcat,负载均衡,反向代理

重启服务并自行添加静态资源用于测试

#重启服务
systemctl restart nginx

#添加静态资源用于测试
cd /usr/share/nginx/html/
mkdir static
cd static/

Nginx+Tomcat(多实例)实现动静分离和负载均衡(四层、七层),服务器,nginx,linux,运维,tomcat,负载均衡,反向代理

访问效果应与第三部分实验一致

2.增设负载均衡器(四层代理)

可使用源码编译安装nginx

准备安装包

Nginx+Tomcat(多实例)实现动静分离和负载均衡(四层、七层),服务器,nginx,linux,运维,tomcat,负载均衡,反向代理

解压并自定义编译安装

#安装依赖包
yum install -y gcc gcc-c++ make zlib-devel pcre-devel openssl-devel

#添加nginx系统用户
useradd -M -s /sbin/nologin nginx

#解压并自定义安装
cd /opt
tar xf nginx-1.22.0.tar.gz
cd nginx-1.22.0/
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-stream --with-http_stub_status_module

#编译安装
make && make install

修改/usr/local/nginx/conf/nginx.conf配置文件

cd /usr/local/nginx/conf/
vim nginx.conf

Nginx+Tomcat(多实例)实现动静分离和负载均衡(四层、七层),服务器,nginx,linux,运维,tomcat,负载均衡,反向代理

重启服务并检查

#重启nginx服务
cd /usr/local/nginx/
./sbin/nginx 

Nginx+Tomcat(多实例)实现动静分离和负载均衡(四层、七层),服务器,nginx,linux,运维,tomcat,负载均衡,反向代理

访问测试

静态页面(等待连接保持结束后刷新,配置文件中是65s) 

Nginx+Tomcat(多实例)实现动静分离和负载均衡(四层、七层),服务器,nginx,linux,运维,tomcat,负载均衡,反向代理

Nginx+Tomcat(多实例)实现动静分离和负载均衡(四层、七层),服务器,nginx,linux,运维,tomcat,负载均衡,反向代理

动态页面

Nginx+Tomcat(多实例)实现动静分离和负载均衡(四层、七层),服务器,nginx,linux,运维,tomcat,负载均衡,反向代理

Nginx+Tomcat(多实例)实现动静分离和负载均衡(四层、七层),服务器,nginx,linux,运维,tomcat,负载均衡,反向代理

Nginx+Tomcat(多实例)实现动静分离和负载均衡(四层、七层),服务器,nginx,linux,运维,tomcat,负载均衡,反向代理文章来源地址https://www.toymoban.com/news/detail-544373.html

到了这里,关于Nginx+Tomcat(多实例)实现动静分离和负载均衡(四层、七层)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 多实例部署和Nginx+Tomcat负载均衡、动静分离

    目录 一、Tomcat多实例部署 1.安装好 jdk  2.安装 tomcat  3.配置 tomcat环境变量  4.修改 tomcat2 中的 server.xml文件,要求各 tomcat 实例配置不能有重复的端口号 5.修改各 tomcat 实例中的 startup.sh 和 shutdown.sh 文件,添加 tomcat 环境变量  6.启动各 tomcat 中的 /bin/startup.sh  7.浏览器访问测

    2024年02月12日
    浏览(44)
  • 【Linux】Nginx+Tomcat负载均衡、动静分离、多实例部署

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 要求各 tomcat 实例配置不能有重复的端口号 第一个连接器默认监听8080端口,负责建立HTTP连接。在通过浏览器访问Tomcat服务器的Web应用时,使用的就是这个连接器。 第二个连接器默认监听8009端口,AJP端

    2024年02月09日
    浏览(54)
  • Tomcat多实例部署及nginx+tomcat的负载均衡和动静分离

    静:静态页面   动: 动态页面 分别可以对静态页面和动态页面发起不同的请求,会有不同的响应结果。 ngix反向代理——负均均衡——tomcat为后端服务器——web静态nginx——静态请求nginx——动态页面——tomcat Nginx实现负载均衡的原理 Nginx实现负载均衡是通过反向代理实现Ngi

    2024年02月13日
    浏览(35)
  • Tomcat服务部署、优化及多实例实验(Nginx+Tomcat负载均衡、动静分离)

    目录 1 Tomcat 1.1 tomcat 构成 1.2 什么是 servlet? 1.3 什么是 JSP? 1.4 Tomcat 功能组件结构 1.5 Container 结构分析 1.6 Tomcat 请求过程 2 Tomcat 服务部署 2.1 环境部署 2.1.1 ​编辑 2.1.2 设置JDK环境变量 2.2 安装启动Tomcat 2.3 优化tomcat启动速度 2.4 主要目录说明 3 Tomcat 虚拟主机配置 3.1 创建 c

    2024年02月09日
    浏览(26)
  • Nginx+Tomcat实现负载均衡、动静分离

    目录 一、Nginx负载均衡实现原理 1.Nginx 实现负载均衡是通过反向代理实现  2、Nginx配置反向代理主要参数 3、动静分离原理  4、Nginx静态处理优势 5、并发量和吞吐量计算 二:7层反向代理          1、环境准备 ​2、配置Nginx Server 3、tomcat1 和tomcat2配置 4、 搭建tomcat3 5、设置

    2024年02月05日
    浏览(45)
  • Nginx+Tomcat实现负载均衡、动静分离集群部署

    1、安装好JDK 2、安装tomcat 3、配置tomcat环境变量 4、修改tomcat2中的server.xml文件,要求各tomcat实例配置不能有重复的端口号 5、修改各tomcat实例中的startup.sh和shutdown.sh文件,添加tomcat环境变量 6、启动各tomcat中的/bin/startup.sh 7、浏览器访问测试 1、Nginx应用 Nginx是一款非常优秀的

    2024年02月08日
    浏览(80)
  • Web服务器群集:Nginx+Tomcat实现负载均衡与动静分离集群

    目录 一、理论 1.多实例 2.Nginx负载均衡 3.Nginx动静分离 4.配置Nginx+Tomcat负载均衡 5.配置Nginx+Tomcat动静分离集群 6.Nginx 四层代理配置 二、实验 1.配置Nginx+Tomcat负载均衡 2.、配置Nginx+Tomcat动静分离集群 三、问题 1.服务器群集与集群的区别 2.正向代理与反向代理的区别 四、总结 (

    2024年02月11日
    浏览(35)
  • Tomcat多实例和负载均衡动静分离

    目录 一、Tomcat多实例部署 二、负载均衡动静分离 2.1.动静分离 2.11 nginx负载均衡 192.168.30.203 2.22 Tomcat服务器:192.168.30.200 2.23 Tomcat服务器:192.168.30.100 2.24 配置nginx 192.168.30.203静态页面 2.25 配置Tomcat 192.168.30.200 服务器动态页面 2.26 配置Tomcat 192.168.30.100服务器动态页面 2.27 Ngin

    2024年02月10日
    浏览(31)
  • Nginx+Tomcat 负载均衡、动静分离

    目录 一、Nginx代理服务器概念 1.正向代理 2.反向代理 二、动静分离 三、负载均衡  四、Nginx七层代理实验 1.部署Nginx服务 2. 部署Tomcat服务  2.1在192.168.88.50 虚拟机上部署双实例 2.2在192.168.88.60 上部署Tomcat服务器3 3.动静分离配置 3.1Tomcat1 server 配置 3.2 Tomcat2 server 配置 3.3Tomc

    2024年02月08日
    浏览(39)
  • Nginx+Tomcat负载均衡、动静分离群集

    Nginx是一款非常优秀的HTTP服务器软件,支持高达50000个并发连接数的响应、拥有强大的静态资源处理能力、运行稳定、内存和CPU等系统资源消耗非常低 目前很多大型网站都应用Nginx服务器作为后端网站程序的反向代理及负载均衡器,提升整个站点的负载并发能力 Nginx实现负载

    2024年02月09日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包