• 企業工具(其二)


    集群:

    将多个物理机器组成⼀个逻辑计算机, 实现负载均衡和容错

    组成要素
    1VIP: ⼀个IP地址
    2) 分发器: nginx
    3) 数据服务器: Web
    服务器


    集群原理:虚拟主机+反向代理+upstream分发模块组成的

    虚拟主机: 接受和响应请求
    反向代理: 带⽤户去数据服务器拿数据
    upstream: 告诉Nginx去哪个数据服务器拿数据
    数据⾛向
    1) 虚拟主机接受⽤户请求
    2) 虚拟主机去找反向代理
    3) 反向代理让去找upstream
    4upstream 告诉 ⼀个数据服务器IP
    5Nginx去找数据服务器 并发起⽤户的请求
    6) 数据服务器接受请求并处理请求
    7) 数据服务器响应请求给Nginx
    8Nginx响应请求给⽤户


    #upstream 模块
    upstream web {
    server 192.168.10.42;
    server 192.168.10.43;
    }
    server {
    listen 80;
    server_name localhost;
    location / {
    proxy_pass http://web;
    }
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
    root html;
    }
    }
    }
    

     解析: 當用戶訪問該服務器時,nginx會作用分發至192.168.10.42/43 這個選擇由upstream去完成

    基於host分發:

    http {
    upstream web1 {
    server 192.168.10.42;
    }
    upstream web2 {
    server 192.168.10.43;
    }
    server {
    listen 80;
    server_name www.web1.com;
    location / {
    proxy_pass http://web1;
    }
    }
    server {
    listen 80;
    server_name www.web2.com;
    location / {
    proxy_pass http://web2;
    }
    }
    }
    

      

    基于开发语⾔分发
    yum -y install httpd php   #安裝phph語言
    systemctl start httpd #開啟httpd
    echo "<?php phpinfo(); ?>" > /var/www/html/index.php #寫一個php文件

      

    http {
    upstream php {
    server 192.168.10.42;
    }
    upstream html {
    server 192.168.10.43;
    }
    server {
    location ~* .php$ {
    proxy_pass http://php;
    }
    }
    location ~* .html$ {
    proxy_pass http://html;
    }
    }
    

      

     基於瀏覽器的

    upstream elinks { server 192.168.10.42; }
    upstream chrome { server 192.168.10.43; }
    upstream any { server 192.168.10.42:81; }
    server {
    listen 80;
    server_name www.web1.com;
    location / {
    proxy_pass http://any;
    if ( $http_user_agent ~* Elinks ) {
    proxy_pass http://elinks;
    }
    if ( $http_user_agent ~* chrome ) {
    proxy_pass http://chrome;
    }
    }
    }
    

      

    高可用性:

    簡單說就是提高服務器的可用性,預防各種宕機後可以重啟

    使用Keepalived 軟件,通過寫腳本,來監控nginx

    slat

    slat-master 安裝

    yum install https://repo.saltstack.com/yum/redhat/salt-repo-latest-2.el7.noarch.rpm
    yum install salt-master
    

      

  • 相关阅读:
    AJAX入门之深入理解JavaScript中的函数
    檔案下載function
    数据库的分页问题
    如何手动删除归档日志
    ORA00257 archiver error. 错误的处理方法
    关于Change Data Capture(六)查询CDC信息
    Cognos 的技巧
    Structs工作原理
    strutsconfig.xml属性含义
    Oracle性能查询统计信息的SQL语句
  • 原文地址:https://www.cnblogs.com/tyh-tesla/p/11065874.html
Copyright © 2020-2023  润新知