分布式+集群方式部署项目(nginx)

  • 分布式:把不同的业务分布在不同的服务器。
  • 集群:多台服务器实现同一个业务
  • 分布式+集群解决了:多并发,单点故障,处理效率慢(tomcat不擅长处理静态资源,它把静态资源当动态资源处理)需要采用动静分离的办法解决。

- Nginx

Nginx是一个俄罗斯人编写的开源HTTP服务器。
优点:
1.高并发连接。
2.内存消耗少。
3.支持Rewrite重写规则:能够根据域名、URL的不同,将 HTTP 请求分到不同的后端服务器群组。
4.内置的健康检查功能:如果 Nginx Proxy 后端的某台 Web 服务器宕机了,不会影响前端访问。

Nginx基本操作

  • 把nginx压缩包拷贝到/usr/local/src

  • 编译安装

  • Ngnix的安装实际上,就是把C语言源码包编译为软件包,所以需要C编译环境

  • C语言编译环境

  • 准备一个C编译环境(Ubuntu apt,centos yum)
    yum install gcc gcc-c++ ncurses-devel perl
    yum -y install make gcc gcc-c++ ncurses-devel
    yum -y install zlib zlib-devel
    yum -y install openssl openssl–devel
    yum install -y pcre-devel

  • ·tar -zxvf xxx.tar.gz
    指定编译到哪个路径:
    cd nginx-1.9.9

  • 手动创建安装目录:

  • mkdir /usr/local/nginx

  • 配置安装目录:

  • cd /usr/local/src/nginx1.9.9

  • ./configure --prefix=/usr/local/nginx

  • 安装:

  • make && make install

  • 启动服务

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
访问主页http://localhost
如果需要远程访问,就需要关闭防火墙

  • 重启服务

当修改了配置文件时需要重新启动
查看进程命令 ps -ef|grep nginx
强制删除进程命令 kill -9 进程号


- Ngnix负载均衡操作


  • 每台tomcat由于硬件的不一致他支持的连接也是不一样的,这就需要nginx均衡的分发到不同的tomcat,这就需要配置niginx的负载均衡。
  • 负载均衡策略
  • 1、轮询(默认),默认
    每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
    weight 指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。
  • 2、ip_hash
    每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。
  • 3、 fair(第三方)按后端服务器的响应时间来分配请求,响应时间短的优先分配。
  • 4、url_hash(第三方)
    按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,后端服务器为缓存时比较有效。

- 1)配置负载均衡简介

在http节点里添加:
#定义负载均衡设备的 ip及设备状态
upstream myServer {
server 127.0.0.1:9090 down;
server 127.0.0.1:8080 weight=2;
server 127.0.0.1:6060;
server 127.0.0.1:7070 backup;
}
在需要使用负载的server节点下添加
在http节点里添加:
#定义负载均衡设备的 ip及设备状态
upstream myServer { (配置端口)
server 127.0.0.1:9090 down;
server 127.0.0.1:8080 weight=2;
server 127.0.0.1:6060;
server 127.0.0.1:7070 backup;
}
proxy_pass http://myServer;(启用)


  • 具体参数代表意思:

upstream 每个设备的状态:
down 表示单前的server暂时不参与负载
weight 默认为1.weight越大,负载的权重就越大。
max_fails :允许请求失败的次数默认为1.当超过最大次数时,返回proxy_next_upstream 模块定义的错误
fail_timeout:max_fails 次失败后,暂停的时间。
backup: 其它所有的非backup机器down或者忙的时候,请求backup机器。所以这台机器压力会最轻

注意:upstream中不要以http://开头
使用localhost 127.0.0.1切换看效果

  • nginx单台配置tomcat

Nginx转发tomcat
proxy_pass http://localhost:8080;#交给tomcat处理:
在这里插入图片描述

  • 多台配置 tomcat
  • 拷贝原来的Tomcat
  • 分别修改server.xml
    把端口改为没有是使用的端口,如8006。
    <Connector port=“8080” protocol=“HTTP/1.1” connectionTimeout="20000"redirectPort=“8443” /> 把端口改为没有是使用的端口,如8082。
    把端口改为没有是使用的端口,如8092。
  • 测试访问
    http://ip:8080
    http://ip:8090
  • Nginx集成tomcat

upstream myServer {
server 127.0.0.1:8090;
server 127.0.0.1:8080;
}
proxy_pass http://myServer;#交给tomcat集群处理
在这里插入图片描述

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

甜甜掉在星星上

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值