zoukankan      html  css  js  c++  java
  • 架构师的成长之路初片~Nginx~集群篇~下篇

    nginx组件集群:

    环境链接上篇:https://www.cnblogs.com/ahaocloud/p/14493878.html

    再http{内添加以下集群}

     ####################创建集群在    server    的 外头,  调用在  location 里面

    1:创建集群

    upstream  web {

      server  ip;

      server  ip;

      server  ip;

    }

    2:调用集群

    在location里添加执行命令(生效命令)

        proxy_pass  http://web;

     重新加载nginx,会看到不同的页面

    集群的优化:初级

    1)任务量的分配 weight=2
    2)健康检查 max_fails=
    3)相同客户机访问相同服务器 ip_hash
    4)添加down标记 down

    集群的优化:初级例子:

    1:server 192.168.2.100:80 max_fails=2  fail_timeout=30; 检查两次如果失败,则认为集群中的主机故障,之后等待30秒后,再次检测。
    2:server 192.168.2.200:80  weight=2; 设置权重,值越大,分配的工作量越多

    3:

    upstream  web{

      ip_hash;

      server 192.168.2.100:80;

    }

    相同客户端访问相同的服务器,让一个客户机访问集群时,锁定一个后台服务器,避免重复登陆问题。

    4:

      server 192.168.2.100:80 down;

    加down标记,使集群服务器暂时不参加任务轮询

    二:重新编译nginx创建新环境

    1:在编译时添加2个模块:

    --with-stream                                                 //创建非网站业务的集群

    --with-http_stub_status_module                   //可查看网站内部数据

    2:创建集群(因为是非网站集群,所以必须在http之外创建。建议在16行上创建)

         stream {

      upstream backend{

      server 192.168.2.100:22;

      server 192.168.2.200:22;

      }

      server {

      listen 6666;                                 //监听端口

      proxy_pass  backend;                //调用集群

      }

    }

    验证: ssh 192.168.2.5 -p 6666                         //nginxIP  -p   指定端口

    连续两次刷新页面,会看到不同的web主机。

    三、nginx常见问题处理

    1: 404报错

          主配置文件   58~59  行附近

            error_page      404        /test.jpg;                 //可把图片或者视频放在文件内即可,(名字必须相同)

    2:status 页面

       须装    --with-http_stub_status_module   模块

    在http{}  内部添加一个新的  location{}。

        location  /status {

      stub_status on;

    }

    测试:在网页中输入   ip/status     即可出来

     active   connections: 

     server  accepts      handled    requests

      reding:0         writing:   |             waiting:0

    2.2   为了数据的外协,设置策略,只允许本机访问。

     在新建的location内 添加

      allow   本机ip;          或指定Ip

      deny  all;

    例子:

      location  /status {

      stub_status on;

      allow  192.168.2.100;

      deny  all;

    }

    3.3:配置nginx的数据缓存,一台服务i其的相同数据可能会被同一个客户机反复访问,为了不重复让服务器给客户端传递相同数据,达到节约资源,节省时间的目的。

      在http{}内找到location在   location  外部重新建立个新的  location。

      location ~*.(jpg|peng|txt|html)${

        expres     30d;                                       //在客户端缓存30天

      }

    4:优化nginx支持超长地址栏,默认情况下nginx无法支持地址栏,会报错   414

      打开主配置文件,在默认的虚拟主机上方添加两行。

      client_header_buffer_size   200k;

      用户访问网站的头部信息,长度支持200K;

      lorge_client_header_buffers  4  200k;

      如果200k不够,再给4个200K.

    5:  优化nginx并发

      打开主配置文件:

      worker-processes

      开启nginx进程数量,通常与cpu核心数一致

      worker_connections  1024;

      每个nginx进程支持的并发访问量

    压力测试:

    包名: httpd-tools

    命令: ab   -c   200   -n  200  http://192.168.2.51

    解释:模拟200个人,访问两百次

    限制问题(数量):

    由于机子的软硬件配置有默认的并发数,所以得修改

    临时修改命令:

    ulimit  -Hn  10000

    ulimit  -Sn  10000

    永久配置:/etc/security/limits.conf

    在最后段落修改:53~54行

    *     soft  nofile   10000

    *    hart   nofile    10000

    修改后重启服务器

  • 相关阅读:
    多测师肖sir__分享考试连接___轻速云
    软件测试___多测师肖sir____非技术面试之离职原因
    软件测试 ___ 接口测试__面试题
    软件测试____多测师肖sir____app测试面试题
    软件测试 ____杭州多测师肖sir___面试题模板收集
    软件测试___接口测试面试题____接口超时场景设置和接口超时处理
    软件测试 ____杭州多测师肖sir__po设计面试题
    c#使用Socket获取网页(含自动跳转, 解压网页)
    查找类似图片(Find Similar Image)
    C# .net Remoting最简单的例子
  • 原文地址:https://www.cnblogs.com/ahaocloud/p/14494034.html
Copyright © 2011-2022 走看看