• nginx反向代理


    (1)高性能

    一些国家重要的计算密集型应用(如天气预报,核试验模拟等),需要计算机有很强的运算处理能力。以全世界现有的技术,即使是大型机,其计算能力也是有限的,很难单独完成此任务。因为计算时间可能会相当长,也许几天,甚至几年或更久。因此,对于这类复杂的计算业务,便使用了计算机集群技术,集中几十上百台,甚至成千上万台计算机进行计算。

    QQ截图20170726094121.png-298.5kB

    假如你配一个LNMP环境,每次只需要服务10个并发请求,那么单台服务器一定会比多个服务器集群要快。只有当并发或总请求数量超过单台服务器的承受能力时,服务器集群才会体现出优势。

    (2)价格有效性

    通常一套系统集群架构,只需要几台或数十台服务器主机即可。与动辄价值上百万元的专用超级计算机相比便宜了很多。在达到同样性能需求的条件下,采用计算机集群架构比采用同等运算能力的大型计算机具有更高的性价比。

    早期的淘宝,支付宝的数据库等核心系统就是使用上百万元的小型机服务器。后因使用维护成本太高以及扩展设备费用成几何级数翻倍,甚至成为扩展瓶颈,人员维护也十分困难,最终使用PC服务器集群替换之,比如,把数据库系统从小机结合Oracle数据库迁移到MySQL开源数据库结合PC服务器上来。不但成本下降了,扩展和维护也更容易了。

    (3)可伸缩性

    通常情况下,硬件设备若想扩展性能,不得不增加新的CPU和存储器设备,如果加不上去了,就不得不够买更高性能的服务器,就拿我们现在的服务器来讲,可以增加的设备总是有限的。如果采用集群技术,则只需要将新的单个服务器加入现有集群架构中即可,从访问的客户角度来看,系统服务无论是连续性还是性能上都几乎没有变化,系统在不知不觉中完成了升级,加大了访问能力,轻松地实现了扩展。集群系统中的节点数目可以增长到几千乃至上万个,其伸缩性远超过单台超级计算机

    (4)高可用性

    单一的计算机系统总会面临设备损毁的问题,如CPU,内存,主板,电源,硬盘等,只要一个部件坏掉,这个计算机系统就可能会宕机,无法正常提供服务。在集群系统中,尽管部分硬件和软件也还是会发生故障,但整个系统的服务可以是7*24小时可用的。

    集群架构技术可以使得系统在若干硬件设备故障发生时仍可以继续工作,这样就将系统的停机时间减少到了最小。集群系统在提高系统可靠性的同时,也大大减小了系故障带来的业务损失,目前几乎100%的互联网网站都要求7*24小时提供服务。

    (5)透明性

    多个独立计算机组成的松耦合集群系统构成一个虚拟服务器。用户或客户端程序访问集群系统时,就像访问一台高性能,高可用的服务器一样,集群中一部分服务器的上线,下线不会中断整个系统服务,这对用户也是透明的

    (6)可管理性

    整个系统可能在物理上很大,但其实容易管理,就像管理一个单一映像系统一样。在理想状况下,软硬件模块的插入能做到即插即用。

    (7)可编程性

    在集群系统上,容易开发及修改各类应用程序。

     

     

    计算机集群架构按功能和结构可以分成以下几类:

    • 负载均衡集群,简称LBC或者LB
    • 高可用性集群,简称HAC
    • 高性能计算集群,简称HPC
    • 网格计算集群

    负载均衡集群的作用为:

    • 分摊用户访问请求及数据流量(负载均衡)
    • 保持业务连续性,即7*24小时服务(高可用性)。
    • 应用于Web业务及数据库从库等服务器的业务

    负载均衡集群典型的开源软件包括LVS,Nginx,Haproxy等。如下图所示:

    QQ截图20170726181402.png-193.2kB

     

    (2)高可用性集群的作用为

    一般是指在集群中任意一个节点失效的情况下,该节点上的所有任务会自动转移到其他正常的节点上。此过程并不影响整个集群的运行。 
    - 当集群中的一个节点系统发生故障时,运行着的集群服务会迅速作出反应,将该系统的服务分配到集群中其他正在工作的系统上运行。考虑到计算机硬件和软件的容错性,高可用性集群的主要目的是使集群的整体服务尽可能可用。如果高可用性集群中的主节点发生了故障,那么这段时间内将由备节点代替它。备节点通常是主节点的镜像。当它代替主节点时,它可以完全接管主节点(包括IP地址及其他资源)提供服务,因此,使集群系统环境对于用户来说是一致的,既不会影响用户的访问。 
    - 高可用性集群使服务器系统的运行速度和响应速度会尽可能的快。他们经常利用在多台机器上运行的冗余节点和服务来相互跟踪。如果某个节点失败,它的替补者将在几秒钟或更短时间内接管它的职责。因此,对于用户而言,集群里的任意一台机器宕机,业务都不会受影响(理论情况下)

    (3) 高性能计算集群

    高性能计算集群也称并行计算。通常,高性能计算集群涉及为集群开发的并行应用程序,以解决复杂的科学问题(天气预报,石油勘探,核反应模拟等)。高性能计算集群对外就好像一个超级计算机,这种超级计算机内部由数十至上万个独立服务器组成,并且在公共消息传递层上进行通信以运行并行应用程序。在生产环境中实际就是把任务切成蛋糕,然后下发到集群节点计算,计算后返回结果,然后继续领新任务计算,如此往复。

     

    安装Nginx软件(三台主机都安装以下命令)

    (1)安装依赖软件包命令集合。

     
    1. [root@localhost ~]# yum -y install openssl openssl-devel pcre pcre-devel
    2. [root@localhost ~]# rpm -qa openssl openssl-devel pcre pcre-devel

    (2)安装Nginx软件包命令集合

     
    1. [root@localhost ~]# tar xf nginx-1.10.2.tar.gz -C /usr/src/
    2. [root@localhost ~]# cd /usr/src/nginx-1.10.2/
    3. [root@localhost nginx-1.10.2]# useradd -M -s /sbin/nologin nginx
    4. [root@localhost nginx-1.10.2]# ./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module && make && make install
    5. [root@localhost nginx]# ln -s /usr/local/nginx/sbin/* /usr/local/sbin/

    #1主机安装以下命令

    #vim /usr/local/nginx/conf/nginx.conf

    worker_processes 1;
    events {
    worker_connections 1024;
    }
    http {
    include mime.types;
    default_type application/octet-stream;
    sendfile on;
    keepalive_timeout 65;
    upstream default_server {
    server 192.168.184.152 weight=1;
    server 192.168.184.153 weight=1;
    }
    server {
    listen 80;
    server_name www.yunjisuan.com;
    location / {
    proxy_pass http://default_server;
    #root html;
    #index index.html index.htm;
    }
    }
    }

    #cd /usr/local/nginx/html

    #mkdir www

    #echo "`hostname -I` www.yunjisuan.com" > www/index.html

    #vim /etc/hosts

    #192.168.184.137  www.yunjisuan.com

    #/usr/local/nginx/sbin/nginx

    2和3主机安装以下

    #vim /usr/local/nginx/conf/nginx.conf

    worker_processes 1;
    events {

    worker_connections 1024;
    }
    http {
    include mime.types;
    default_type application/octet-stream;
    sendfile on;
    keepalive_timeout 65;
    log_format main '$remote_addr-$remote_user[$time_local]"$request"'
    '$status $body_bytes_sent "$http_referer"'
    '"$http_user_agent""$http_x_forwarded_for"';
    server {
    listen 80;
    server_name yyy.yunjisuan.com;
    location / {
    root html/yyy;
    index index.html index.htm;
    }
    }
    server {
    listen 80;
    server_name www.yunjisuan.com;
    location / {
    root html/www;
    index index.html index.htm;

    }
    access_log logs/access_www.log main;
    }
    }

    #cd /html

    #mkdir yyy www

    #echo "`hostname -I` www.yunjisuan.com" > www/index.html

    #echo "`hostname -I` yyy.yunjisuan.com" > yyy/index.html

    #vim /etc/hosts

    #192.168.184.152  yyy.yunjisuan.com

    #192.168.184.152 www.yunjisuan.com

    另一个也是像上面写 只是改下IP地址

    #/usr/local/nginx/sbin/nginx

    完成

  • 相关阅读:
    消息分发
    subprocess.CalledProcessError: Command ‘(‘lsb_release’, ‘-a’)’ returned non-zero exit status 1.
    ubuntu14.04 安装python3.7
    通过shell脚本查看python版本并比较
    shell 小数比较大小
    python 私有方法
    python 类的倒入
    python 路径拼接
    python 脚本接受参数
    python 获取文件运行路径
  • 原文地址:https://www.cnblogs.com/woshifanren/p/10051373.html
Copyright © 2020-2023  润新知