文档章节

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

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

3 月,跳不动了?>>>

由于需要测试分布式会话是否生效,于是我们又要涉及到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
广州
程序员
私信 提问
加载中

评论(0)

分布式学习(3) ---- 初识Nginx

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

KKys
2017/02/06
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
2018/06/10
0
0
Java进阶——带你入门分布式中的Nginx

如何实现服务器之间的协同功能呢? 通过 Nginx 提供的反向代理和负载均衡功能,可以合理的完成业务的分配,提高网站的处理能力;同时利用缓存功能,还可以将不需要实时更新的动态页面输出结果...

Java架构
2019/04/14
0
0
Nginx 反向代理学习及实例笔记

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

moTzxx
2017/11/23
0
0
nginx详解(正向代理,反向代理,负载均衡原理)

Nginx配置详解 nginx概述 nginx是一款自由的、开源的、高性能的HTTP服务器和反向代理服务器;同时也是一个IMAP、POP3、SMTP代理服务器;nginx可以作为一个HTTP服务器进行网站的发布处理,另外...

蛋蛋爱茶茶
2019/04/12
118
0

没有更多内容

加载失败,请刷新页面

加载更多

为什么不能在网上做 mmpi明尼苏达多项人格测验

在网上看了很多文章,知乎上也看了不少大侠的文字,也就是说,网上做测试是不行的!所以,引出这个话题: 为什么不能在网上做 mmpi 明尼苏达多项人格测验? 1、mmpi是一个专业的测试量表 说不...

蛤蟆丸子
25分钟前
11
0
idea 子模块删除后 再创建同名的子模块时, 子模块目录右下角没有蓝色的maven的标识 解决方法

同名子模块创建后,如图所示操作 记得选择maven工程,将对应的子目录包添加进去

ATOZ_HJ
29分钟前
23
0
教你如何隐藏 Ubuntu 18.04 左上方的“活动”按钮

本快速教程介绍了如何删除Ubuntu Gnome桌面顶部栏左上角的“活动”按钮。 左上角的“活动”按钮显示所有打开的应用程序窗口,顶部带有搜索框,右侧是工作区。 一些用户发现它无用,并希望删除...

linuxprobe2020
35分钟前
19
0
SQL优化还凭经验?这个工具能帮你智能优化SQL

前言 SQL优化是程序开发中经常遇到的问题,尤其是在程序规模不断扩大的时候。SQL的好坏不仅制约着程序的规模,影响着用户的体验,甚至威胁着信息的安全。 我们经常听到说哪家平台挂了,哪家网...

吴伟祥
57分钟前
26
0
如何在一台服务器上添加和管理多个WEB站点?

网络上的每一个Web站点都有一个惟一的身份标识,从而使客户机能够准确地访问。这一标识由三部分组成,即TCP端口号、IP地址和主机头名,通常有三种不同的实现途径。 通常情况下我们只会想到利...

BirdCloud
今天
20
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部