LNMP架构(5) Nginx负载均衡,ssl原理,生成ssl密钥对,Nginx配置ssl

Nginx负载均衡
       负载均衡是当下广泛流行的web架构中极其重要的一环,为服务器稳定性提供重要保障,同时也保障了用户体验,Nginx用作负载均衡时,
Nginx用作负载均衡时,前端支持http和https,后端访问目前只支持http,暂未支持https,据说新版本将会支持代理tcp。

LNMP架构(5) Nginx负载均衡,ssl原理,生成ssl密钥对,Nginx配置ssl_第1张图片

1、创建负载均衡脚本
[root@aliyun ~]# yum install -y bind-utils
[root@aliyun ~]# dig qq.com

; <<>> DiG 9.9.4-RedHat-9.9.4-61.el7 <<>> qq.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 9431
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;qq.com. IN A

;; ANSWER SECTION:
qq.com. 23 IN A 111.161.64.40
qq.com. 23 IN A 111.161.64.48

;; Query time: 0 msec
;; SERVER: 100.100.2.136#53(100.100.2.136)
;; WHEN: Wed Jun 13 01:59:00 CST 2018
;; MSG SIZE  rcvd: 67

[root@aliyun ~]# vim /usr/local/nginx/conf/vhost/load.conf
创建负载均衡脚本,写入如下内容:
upstream qq    指定多个webserver,qq是upstream模块的名字
{
    ip_hash;       让用户始终访问在同一个web服务器上
    server 111.161.64.40:80;    两个web服务器的ip
    server 111.161.64.48:80;     两个web服务器的ip
}
server
{
    listen 80;                               监听端口
    server_name www.qq.com;  网站名称
    location /                               位置 / 目录
    {
        proxy_pass      http:// qq ;    这里必须写upstream模块的名字,如果不加http://,则需要再上面server后面的 两个IP前加上http://
        proxy_set_header Host   $host;
        proxy_set_header X-Real-IP      $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}
2、测试负载均衡是否成功:
未重载前访问:
[root@aliyun ~]# curl -x127.0.0.1:80 www.qq.com
this is a test!        请求被转到了默认虚拟主机处理了
[root@aliyun ~]# /usr/local/nginx/sbin/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@aliyun ~]# /usr/local/nginx/sbin/nginx -s reload  
重载之后再次访问
[root@aliyun ~]# curl -x127.0.0.1:80 www.qq.com
͚Ѷ˗ҳ

你可能感兴趣的:(Linux)