点赞
评论
收藏
分享
举报
ngx_http_consistent_hash
发表于2023-03-28 16:36

浏览 447

文章标签

  • ngx_http_consistent_hash:通过一致性哈希算法来选择合适的后端节点
官网:https://github.com/replay/ngx_http_consistent_hash
https://www.nginx.com/resources/wiki/modules/consistent_hash/

下载

       文件名:ngx_http_consistent_hash-master.zip


       github下载:https://github.com/replay/ngx_http_consistent_hash


       unzip ngx_http_consistent_hash-master.zip

编译到Nginx

        ./configure --add-module=/home/guowenyan/ngx_http_consistent_hash-master

       make

       make install

Nginx.conf配置

worker_processes  1;
 
events {
    worker_connections  1024;
}
 
 
http {
    upstream www.guowenyan.cn {
        consistent_hash $request_uri;
        server 106.38.193.183:80;
        server 106.38.193.182:80;
    }
 
    server {
        listen       80;
        server_name  localhost;
 
        location / {
             proxy_pass http://www.guowenyan.cn;
       }
    }


验证方法

2.1 发送URL请求

       多次发送不同的URL请求。

       curl -x 127.0.0.1:80 http://www.guowenyan.cn/1.txt -v

2.2 抓包查看upstream到的地址

       sudo tcpdump -i any tcp port 80 and host 106.38.193.183or106.38.193.182

       会发现同一个URL,总是回同一个upstream的IP地址。

已修改于2023-03-28 16:36
本作品系原创
创作不易,留下一份鼓励
BUG退散

暂无个人介绍

关注



写下您的评论
发表评论
全部评论(0)

按点赞数排序

按时间排序

关于作者
BUG退散
这家伙很懒还未留下介绍~
11
文章
2
问答
0
粉丝
相关文章
概述 Nginx 从 1.9.0 开始加入了 stream 模块支持四层的代理,转发和负载均衡。但是,stream 模块的功能相对简单。对需要 ALG 处理的协议比如 FTP 的支持也远远不够。我试着去修改了 Nginx 的源代码,添加了alg模块。使之支持了 FTP主动模式和被动模式下的 ALG 功能。 Github 的源码地址为 : https://github.com/pei-jikui/nginx-alg。代码本身不困难,困难的是如何把代码模块化,有机地融入nginx原有的框架结构中,尽量少地修改已有的框架代码。而后者,需要对stream模块乃至nginx本身的框架和代码有一定的熟悉程度。图 1:FTP被动模式 数据连接 图2 :FTP主动模式 数据连接可能大家会说,Passive 模式不需要ALG 。准确
点赞 6
浏览 3.7k
使用配置方式:install./configure--add-module={module_dir}&&make&&makeinstallconfserver{ listen80; client_max_body_size100m; location/{ roothtml/upload; } #Uploadformshouldbesubmittedtothislocation location/upload{ #Passalteredrequestbodytothislocation upload_pass/example.php; #Storefilestothisdirectory #Thedirectoryishashed,subdirectories0123456789shouldexist
点赞 3
浏览 2.8k
使用方法:1.创建tableCREATETABLE oauth_access_token (id int(10)NOTNULLAUTO_INCREMENT,access_token varchar(255)DEFAULTNULL,expires_in int(10)NOTNULL,last_used_time int(10)NOTNULL,PRIMARYKEY(id),KEY ACCESS_TOKEN (access_token))ENGINE=InnoDBDEFAULTCHARSET=utf8;2.安装Oauth模块cd/work/nginx-1.8.0&&./configure--add-module=/work/nginx-http-oauth-module&&make3.添加配置请参照源码连接中的nginx.conf 4.使用Oauth模块a)创建访问tokenhttp://192.168.1.104/token?appid=
点赞 3
浏览 2k