nginx负载均衡实战

负载均衡的作用:在多个服务器上部署同一个web项目,nginx会将用户的请求随机(可自定义)分发到其中一个web服务器,当其中任意一个或多个web服务器宕机时,不影响用户的正常访问。

基本网络构架:

步骤:

1、到http://nginx.org/ 下载好windows的zip包,解压后直接运行 nginx.exe,窗口会一闪而过,但在任务管理器可看到两个进程,我们现在访问http://localhost,会显示如下内容。这是因为ngnix启动后,默认会监听本机的80端口,然后将该端口下的所有访问都转到了 html/index.html。

Welcome to nginx!

2、配置文件说明


    server {
        listen       80;
        server_name  localhost;

        location / {
            root   html;
            index  index.html index.htm;
        }
    }

service : 一个配置实例

listen: 当前这个实例监听本机的端口号,这个在所有server中就是唯一的,不然一个端口被多个实例监听,nginx就不知该用哪个处理了。

server_name:给当前实例定义一个名称

location / : 监听当前端口所有请求

root : location 请求对应的本机文件目录,html 表示所有的请求都将以html文件夹做为根目录.这个配置最常用于缓存静态文件时使用,如js / css / image等

index: 默认的首页,如果不存在index.html ,则显示index.htm

如果想让nginx监听到80端口访问时转到我们自己的tomcat服务器,只需将localtion / 修改为如下就可以了:

location / {
     proxy_pass http://localhost:8080
}

这时我们再访问http://localhost ,则会显示如果页面了,而且任何功能都不会受影响:


3、两个web服务器负载均衡:

upstream local_tomcat { 

    # 这里是本机的第一个web服务器 

    server localhost:8080;

    # 这里是本机的第二个web服务器 

    server localhost:9090; 

    #还可添加很多

server{  
        location / {  
           proxy_pass http://local_tomcat;  
        }  
        #......其他省略  

}

当访问http://localhost时,nginx会随机的跳转到8080与9090服务器。当8080服务器宕机时,9090会继续工作。如果想控制两个服务器的权重,比如 9090 服务器性能好,可以多处理一些请求,则可以如下配置权重

upstream local_tomcat {  
    server localhost:8080 weight=1;  
    server localhost:9999 weight=2;  

这样在9090受访的机率会比8080多一倍。

3、静态文件,这个好像conf.xml有现成的配置,只要改一下就可以,如下对图片的配置

#location ~ \.(png|jpg|bmp)$ {
    root    image;
}

所有png 、 jpg 、 bmp 的请求都会直接去访客根目录下的image文件夹,当然也可以使用绝对路径。

4、还有待学习的地址

    session如何处理,因为分发到不同的web服务器,session也需要在各个服务器上访问。好像这个可以做成无状态的session,这个在以后单独写文字进行探究。


转载于:https://my.oschina.net/u/436211/blog/620712

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值