Nginx搭建tomcat集群,搭建Nginx集群,实现动静分离

Nginx

Nginx工作原理图

在这里插入图片描述

1.Nginx实现tomcat集群的负载均衡

在这里插入图片描述

Nginx的.yml配置文件解释

在这里插入图片描述

Nginx的默认配置文件的作用

在这里插入图片描述

2.Nginx部署Nginx集群

作用:因为浏览器访问要经过Nginx在通过Nginx进行负载均衡,所以如果Nginx出错会导致项目无法运行,因此要再搭建一个Nginx作为备用。

步骤1:为了避免其他容器干扰我们的视线,先停止所有容器docker stop $(docker ps -qa) ;docker rm

步骤2:在opt目录下创建docker_nginx_cluster用来存放相关的文件

​ docker_nginx_cluster文件解释

在这里插入图片描述

步骤3:因为有docker-compose.yml文件,所以直接运行容器(docker-compose up -d)

步骤4:可以使用命令docker ps检查是否有两个Nginx容器和创建虚拟路径的haproxy容器

步骤5:在浏览器输入Linux的地址

​ 结果如下

在这里插入图片描述

在这里插入图片描述

步骤6:最后故意停止主要容器(Master),来测试访问能否切换到备用Nginx容器(slave)

报错解决:

如果出现以下错误

在这里插入图片描述

systemctl stop docker  ## 停止docker

rm /var/lib/docker/network/files/local-kv.db ##删除文件,遇到循环打y表示要删除

systemctl start docker ## 启动docker

https://my.oschina.net/u/4308169/blog/3371101  ## 此网站解释了为什么会出现这个错误

错误2:表示无法更新或者下载Nginx容器

解决:这是可能你的Dockerfile中下载的Nginx版本过高的原因

在这里插入图片描述

3.Nginx实现动静分离

作用:以前无论是静态资源还是动态请求都是交给tomcat容器处理,要是用户量多起来了就会导致tomcat服务器压力过大,因为Nginx也是可以处理HTTP协议的容器,所有可以把静态资源的请求交给Nginx处理

步骤1:在Linux中创建一个目录opt用来存放各种容器,进入这个目录,再创建一个目录(docker_nginx)用来管理nginx,在这个文件中创建compose容器的配置文件(docker-compose.yml),用来管理nginx这个容器的下载,启动,停止等操作

​ docker-compose.yml文件解释:

在这里插入图片描述

步骤2:为了生成没有的文件夹,需要停止并删除Nginx容器(docker-compose down),然后重新启动(docker-compose up -d)

步骤3:将静态文件放入到Linux下和Nginx目录相映射的目录下

步骤4:在Linux中的任务完成,最后只要在Nginx的配置文件中配置,静态资源访问规则

​ Nginx的默认文件解读:

在这里插入图片描述

步骤5:因为修改了Nginx下的默认配置文件,所以要重新启动Nginx容器(docker-compose restart)

​ 最终结果:在浏览器中访问虚拟机的地址,端口默认80可以不用写

在这里插入图片描述

1.动态代理(反向代理)请求

在Nginx的默认配置文件中修改地址proxy_pass(地址改为自己tomcat访问的地址)
location / {
       proxy_pass http://192.168.1.129:8080/;
}

2.处理静态文件

在Nginx的默认配置文件中修改root
location /html {
       root /data; # 不要少写一个/,是/data,而不是data,当你访问/html就去/data/html下找资源
       index index.html; # 如果配置index可以少输index.html
}

location /img {
      root /data; # 不要少写一个/,是/data,而不是data,当你访问/img就去/data/img下找资源
      autoindex on; # 扩展开,效果如下面的测试图示
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值