`

nginx灰度配置

 
阅读更多
一. 安装
        1.下载tar源码包  并解压 tar -zxvf nginx-1.9.4.tar.gz
        2. 依赖包下载
            2.1  gzip 模块需要 zlib 库 ( 下载: http://www.zlib.net/ )  zlib-1.2.8.tar.gz
                   ./config && make && make install
            2.2 rewrite 模块需要 pcre 库 ( 下载: http://www.pcre.org/ )  pcre-8.21.tar.gz
                    ./configure  && make && make install
            2.3 ssl 功能需要 openssl 库 ( 下载: http://www.openssl.org/ )  openssl-1.0.1.tar.gz
                    ./configure  && make && make install
        3. 执行 ./configure && make && make install


二. 配置
1 初始安装目录下含 conf html sbin logs子目录,后续会生成其他临时目录
2.修改安装目录下 conf/nginx.conf 监听端口
3启动 执行安装目录下sbin下的nginx脚本
4.如果访问首页403 是因为安装目录没有文件的访问权限 所以chmod -R 755 /usr/local/nginxTas,然后重新访问
5.重启nginx sbin/nginx –s reload
6.nginx配置参考
#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;
   upstream dev {
        server xxx.xxx.xxx.xxx:8888;
        server xxx.xxx.xxx.xxx:9999 backup;
        keepalive 1024;
    }
    upstream produce {
        server xxx.xxx.xxx.xxx:9999;
        keepalive 1024;
    }

    server {
        listen       8888;
        server_name  localhost;
        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        #location / {
         #   root   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;
        }

        location ~* 1360103015 {
            proxy_pass http://dev;
            proxy_set_header X-real-ip $remote_addr;
        }
        location / {
            proxy_pass http://produce;
            proxy_set_header X-real-ip $remote_addr;
        }


        # 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;
        #}
    }

    # 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实现灰度发布1

    以下是一个简单的Nginx配置示例,用于展示如何配置灰度发布: ```nginx upstream hilinux_01 { server 192.168.1.100:8080 max_fails=1 fail_timeout=60; } upstream hilinux_02 { server 192.168.1.200:8080 ...

    nginx+lua+redis通过匹配客户端ip进行灰度发布

    在配置 nginx 时,需要使用 Lua 脚本来匹配客户端 IP,以便实现灰度发布。Lua 脚本可以使用 redis 来存储客户端 IP 和对应的版本信息,然后根据客户端 IP 来选择对应的版本。 在使用 redis 时,需要安装 redis ...

    Nginx 实现灰度发布的三种方法总结

    Nginx 灰度发布是指在发布新版本服务时,仅让部分用户群体接触到新版本,以此来测试新功能的稳定性和性能,同时保证大部分用户仍能使用旧版本服务。这种方式可以降低新版本可能带来的风险,提高产品迭代的安全性。...

    linux-nginxlua开发的灰度方案轻量级只支持按流量灰度

    标题提到的"linux-nginxlua开发的灰度方案轻量级只支持按流量灰度",指的是在Linux环境下,利用Nginx与Lua的集成(通过OpenResty或ngx_lua_module)实现的一种轻量级灰度发布方案,主要侧重于根据流量比例来分配用户...

    基于 Nginx 的 Java Web 项目灰度发布框架.zip

    综上所述,基于Nginx的Java Web项目灰度发布框架涉及了网络服务器配置、路由策略、灰度发布策略、回滚机制、监控以及CI/CD流程等多个方面,是保障软件质量和服务稳定性的重要实践。在实际操作中,需根据项目特性和...

    nginx + header 转发 灰度测试

    nginx Header 转发灰度测试配置详解 在本文中,我们将详细介绍如何使用 Nginx 实现 Header 转发灰度测试。灰度测试是一种重要的测试方法,可以帮助我们在不影响生产环境的情况下,测试新的服务或功能。我们将使用 ...

    Nginx与Lua灰度发布的实现

    Nginx与Lua结合进行灰度发布的实现是一种高级的服务器端技术,用于在不中断服务的情况下,对新功能或更新进行逐步推广。这种方式允许开发者针对特定用户群体进行测试,从而在更大范围内部署前确保系统的稳定性和性能...

    服务灰度发布方案.docx

    在灰度发布中,OpenResty 的配置文件 nginx.conf 需要进行修改,以适应灰度发布的需求。例如,可以在配置文件中添加灰度发布的规则,以便控制流量的分配。 OpenResty 的 AB Testing Gateway 是基于 OpenResty 的...

    基于nginx+lua+dyups实现服务自定义调度资源整理

    1. **硬灰度**:应用依赖平台提供的灰度功能,如`nginx`的`upstream`配置。 2. **软灰度**:应用自身具备灰度功能,但平台提供了统一的策略规范。 **三、`nginx`的`upstream`配置** `upstream`是`nginx`中用于定义...

    灰度发布系统压测报告1

    例如,`events`模块决定了Nginx处理连接的能力,`listen`配置控制监听端口的行为,而`keepalive`设置允许持久连接,降低TCP握手开销。 3.2 **nginx 的 proxy 和 upstream 模块配置** proxy模块负责转发请求,...

    灰度发布技术实现报告模板

    本次灰度发布设计的目标是实现基于lua脚本的nginx配置,以实现流量分发、用户筛选和版本控制等功能。 四、本阶段实现功能 1. 白名单用户灰度策略:针对特定用户群体进行新功能的灰度测试。 2. IP灰度策略:根据IP...

    淘宝网Nginx应用、定制与开发实战.pdf[书签版]

    ngx_lua允许将Lua脚本嵌入到Nginx配置中,而ngx_drizzle模块则是用于数据库连接池的管理。最后,介绍了如何将ngx_lua和ngx_drizzle结合在一起,以实现更加高效和灵活的Web应用。 当前工作部分讨论了淘宝即将发布的...

    前端灰度发布落地方案.docx

    该方案使用 lua 模块解析 nginx 配置文件中的 lua 脚本代码,获取客户端的 ip 地址,去查询 redis 缓存内是否有该建值,如果有返回值执行灰度版本逻辑,否则执行当前生产环境版本。该方案的优点是灵活、可控性强,...

    versionSwitchTool:通过apache,nginx,iis rewrite机制进行项目灰度发布

    【版本切换工具:基于Apache、Nginx、IIS重写机制实现项目灰度发布】 在互联网产品开发中,灰度发布(也称为灰度测试)是一种常用的部署策略,它允许我们在向所有用户推出新功能或更新之前,先将新版本推送给一小...

    骑士:Nginx Http引入api统计监控,灰度发布,频率控制

    Nginx Lua模块允许我们在Nginx配置中嵌入Lua脚本,从而在请求处理阶段进行自定义逻辑。通过编写Lua脚本,我们可以记录每个API请求的元数据,如请求路径、HTTP方法、响应时间和状态码等。将这些数据存储到日志或者...

    AB测试和灰度发布平台架构设计和实践.pdf

    BucketTest二方库同步模块负责向配置端同步用户配置信息;BucketTestFilter负责提取用户信息、缓存,以及在返回结果页面时封装打点信息;BucketTestClientAPI提供实际分流计算和服务。Apache打点模块生成javascript...

    精心整理的140+道linux运维面试题分享给需要的同学

    60. nginx默认配置文件 61. location的规则 62. 配置nginx防盗链 63. drop,delete和truncate删除数据的区别? 64. MySQL主从原理 65. MySQL主从复制存在哪些问题? 66. MySQL复制的方法 67. 主从延迟产生的原因及...

    许力强:浅谈灰度发布在贴吧的应用

    灰度上线主要用于处理数据模块的调整和技术升级,例如存储引擎的替换或Nginx功能的更新。客户端灰度则涉及到客户端应用程序的更新,通过定向弹窗、渠道分级等方式来控制新版本的推送范围,确保新功能能够在特定的...

    gate_config.zip

    例如,Nginx作为常见的反向代理服务器,可以配置为根据特定条件(如用户ID、地理位置、设备类型等)将请求路由到新版本或旧版本。 2. **实验组设置**:配置文件可能会包含实验组的定义,比如A组接收新功能,B组保持...

Global site tag (gtag.js) - Google Analytics