文档章节

nginx的反向代理和负载均衡配置方法

hollowJ丶
 hollowJ丶
发布于 2016/11/22 13:34
字数 658
阅读 16
收藏 1

由于需要测试分布式会话是否生效,于是我们又要涉及到nginx的负载均衡了,通过部署多个实例由nginx来进行轮询调度,从而测试session是否实现共享,这是测试办法


#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;
   #在这里 我们将两个实例部署好,分别部署在8080 8090两个端口的tomcat中,upstrem是负载均衡的关键,默认是轮询
upstream  sessiontest{
    #ip_hash;配置此项则不使用轮询策略,通过用户的ip计算出哈希,从而匹配固定的运行实例
    server 127.0.0.1:8080;
    server 127.0.0.1:8090;

}
    server {
        #我们让nginx开启80端口的监听,默认就开启了
        listen       80;
        server_name  localhost;//我们的请求域名

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
           root   html;#root是指nginx下的文件夹根目录
           #index:默认访问页面,因此这也是我们直接访问localhost就直接看到欢迎页面的原因,
           #实际上是转发给/html/index.html
            index  index.html index.htm;
       }

       

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
         #这里我们对我们部署项目的配置,这里是反向代理接受/RedisDemo打头的请求转发给proxy_pass中配置的服务器
         #这里选择负载均衡的配置,如果不需要负载均衡,可直接填写代理的地址即可达到效果
        location /RedisDemo {
           
           #index  index.html index.htm;
           #这里的sessiontest对应上面配置的upstream,还记得吗;注意http://也是要的
            proxy_pass http://sessiontest;
        }
        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        #location ~ \.php$ {
        #    root           html;
        #    fastcgi_pass   127.0.0.1:9000;
        #    fastcgi_index  index.php;
        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        #    include        fastcgi_params;
        #}

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\.ht {
        #    deny  all;
        #}
    }


    # another virtual host using mix of IP-, name-, and port-based configuration
    #
    #server {
    #    listen       8000;
    #    listen       somename:8080;
    #    server_name  somename  alias  another.alias;

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


    # HTTPS server
    #
    #server {
    #    listen       443 ssl;
    #    server_name  localhost;

    #    ssl_certificate      cert.pem;
    #    ssl_certificate_key  cert.key;

    #    ssl_session_cache    shared:SSL:1m;
    #    ssl_session_timeout  5m;

    #    ssl_ciphers  HIGH:!aNULL:!MD5;
    #    ssl_prefer_server_ciphers  on;

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

}

配置完这些,启动nginx

我们的8080请求地址为:http://localhost:8080/RedisDemo/getUser?id=1

我们的8090请求地址为:http://localhost:8090/RedisDemo/getUser?id=1

然后我们访问nginx ,则访问 :http://localhost/RedisDemo/getUser?id=1,他会轮询访问上面两个

我们可以看到每次请求都会在8080 8090中轮询访问,sessionid是一样的,nice 我们要的效果就达到了

 

 

 

© 著作权归作者所有

共有 人打赏支持
hollowJ丶
粉丝 0
博文 29
码字总数 11240
作品 0
广州
程序员
分布式学习(3) ---- 初识Nginx

Nginx两大作用:1.轻量web容器 2.反向代理服务器。 在Java领域中,Nginx更多的被用作在前端提供负载均衡的反向代理服务。 所以本文仅简要介绍下反向代理概念和负载均衡的实现。 . 反向代理 ...

KKys
2017/02/06
0
0
Nginx 反向代理学习及实例笔记

背景 前几天在学习负载均衡的知识,遇到了 Nginx 反向代理 的概念,其实在年初就写过一次 Nginx 反向实例的笔记,今天翻看发现很是潦草,而且当时的编辑器也不满足Markdown,作为尴尬症晚期的...

moTzxx
2017/11/23
0
0
Nginx系列-11.配置Nginx反向代理和负载均衡

Nginx系列-11.配置Nginx反向代理和负载均衡 目录 - Nginx系列 Nginx系列-1.Linux下安装Nginx Nginx系列-2.配置LNMP(Linux、Nginx、MySQL、PHP)架构 Nginx系列-3.配置Nginx虚拟主机 Nginx系...

ngle
06/10
0
0
Nginx反向代理实现负载均衡配置图解

Nginx反向代理实现负载均衡配置图解 [导读] 负载均衡配置是超大型机器需要考虑的一些问题,同时也是数据安全的一种做法,下面我来介绍在nginx中反向代理 负载均衡配置图解,大家可参考本文章...

thinkyoung
2015/01/07
0
0
Nginx的反向代理及负载均衡

1.集群的简介 简单来说,集群就是指一组相互独立的计算机,利用高速通信网络组成的一个较大的计算机服务系统,每个集群节点都是运行各自服务的独立服务器。这些服务器之间可以彼此通信,协同...

10pcm
06/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

内存模型是怎么解决缓存一致性的?

在再有人问你Java内存模型是什么,就把这篇文章发给他。这篇文章中,我们介绍过关于Java内容模型的来龙去脉。 我们在文章中提到过,由于CPU和主存的处理速度上存在一定差别,为了匹配这种差距...

Java填坑之路
10分钟前
1
0
vue-cli 3.0 初体验

最近复习了下vue,突然发现vue-cli已经更新到3.0版本了,并且变化蛮大,看来要不停的学习,真是一入前端深似海。 安装步骤: 1、全局安装 npm install -g @vue/cli Vue CLI 的包名称由 vue-...

tianyawhl
12分钟前
0
0
Angular进阶之路

【初级】会写页面,能出东西。 给定环境和 rest API,不用第三方库,能在十分钟内完成一个 master/detail 结构的带路由的应用(可以不管美观)。 知识点:Angular CLI、组件、路由、HTTP 服务...

陆小七的主页
15分钟前
0
0
Redis缓存数据库安全加固指导(一)

背景 在众多开源缓存技术中,Redis无疑是目前功能最为强大,应用最多的缓存技术之一,参考2018年国外数据库技术权威网站DB-Engines关于key-value数据库流行度排名,Redis暂列第一位,但是原生...

中间件小哥
15分钟前
0
0
百万级数据mysql分区

1. 什么是表分区? 表分区,是指根据一定规则,将数据库中的一张表分解成多个更小的,容易管理的部分。从逻辑上看,只有一张表,但是底层却是由多个物理分区组成。 2. 表分区与分表的区别 分表...

罗文浩
17分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部