Nginx负载均衡和动静分离

Nginx负载均衡和动静分离

实验目的:实现Nginx的负载均衡和动静分离

实现环境:一台server用作Nginx代理(需要两块网卡,eth0连接内网,eth1连接外网),两台用作web服务(每台server都定义两个虚拟机,端口分别是808080),一台客户端用于验证结果;

操作步骤

负载均衡的实现:

一、配置IP

1.配置A主机的IP

# ip addr add dev eth0 192.168.10.254/24

# ip addr add dev eth1 192.168.20.254/24

2.配置B主机的IP

# ip addr add dev eth0 192.168.10.2/24

3.配置C主机的IP

# ip ddr add dev eth0 192.168.10.3/24

二、配置web服务(BC主机都做同样配置)

1.安装所需程序包

# yum -y install nginx php-fpm

2.配置web服务,提供默认主页

# vim /etc/nginx/conf.d/defalut.conf

    server {

        index index.php index.html;

    }

    location / {

        fastcgi_pass 127.0.0.1:9000;

        fastcgi_index index.php;

        fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name;

        include fastcgi_params;

    }

# vim /usr/share/nginx/html/index.php

    <?php

        phpinfo();

    ?>

3.php-fpm的运行用户和组改为nginx

# vim /etc/php-fpm.d/www.conf

    user = nginx

    group = nginx

4.启动php-fpmnginx

# service php-fpm start

# service nginx start

三、配置代理,以集群方式实现负载均衡

1.安装nginx

# yum -y install nginx

2.定义动态页面集群组,在http{}段中定义;

# vim /etc/nginx/nginx.conf

    http {

        upstream websrvs {

            server 192.168.10.2:80;

            server 192.168.10.3:80;

        }

    }

3.调用定义的集群组,在server{}段的location{}段中调用;

# vim /etc/nginx/conf.d/default.conf

        server {

            location / {

                proxy_pass http://wersrvs;\

               index index.php;

            }

        }

4.启动服务

# service nginx start

5.在客户端上测试,访问192.168.20.254地址,响应的服务器是轮询的结果;

动静分离的实现:

一、配置虚拟主机

1.配置虚拟主机(BC主机都作同样配置,默认主页中的ip地址改为C主机的ip,以示区分)

# vim /etc/nginx/conf.d/default.conf

    server {

        listen 8080;

        server_name _;

        index index.html

        location / {

            root /var/www/static;

        }

    }

2.创建默认主页

# mkdir -v /var/www/static

# vim /var/www/static/index.html

    <h1>static page 192.168.10.2</h1>

3.检测和重载配置

# nginx -t

# nginx -s reload

二、定义静态页面集群组及调用

1.定义静态页面集群组

# vim /etc/nginx/nginx.conf

    http {

        upstream statrvs {

            server 192.168.10.2:8080;

            server 192.168.10.3:8080;

        }

    }

2.调用定义的集群组,在server{}段的location{}段中调用;

# vim /etc/nginx/conf.d/default.conf

    server {

        location ~* \.(jpg|jpeg|png|gif|html)$ {

            proxy_pass http://stasrvs;

            index index.html;

        }

    }

结果验证:

1.访问静态页面,在浏览器中输入地址:192.168.20.254/index.html,此时响应的集群组是stasrvs,且后端的服务器轮询响应请求;

2.访问动态页面,在浏览器中输入地址:192.168.20.254/index.php,此时响应的集群组是websrvs,且后端的服务器轮询响应请求;

原创文章,作者:人字拖,如若转载,请注明出处:http://www.178linux.com/75483

(0)
人字拖人字拖
上一篇 2017-05-13 22:16
下一篇 2017-05-14 09:03

相关推荐

  • 一张图认识开源世界

    开源精神:自由,创新,团结,互助,友爱,积极,进取。在开源环境下也产生了很多优秀的软件,让我们通过一幅图认识一下开源世界里的大咖们! 看图识物     墙上挂的牛头:伟大的开源计划GNU Wiki:http://zh.wikipedia.org/zh-cn/GNU     墙上日历上的信封标志:经典的linux下的邮件…

    Linux干货 2015-03-20
  • 01day-计算机与操作系统基础

    第1章 计算机基础 1.1 什么是计算机 计算机是个笼统的概念,泛指一切计算功能的机器。这样扯的话,以前的算盘也是计算机了。我们现在的计算机应该称作电子计算机,我天朝人民称为电脑。听说谷歌在研究量子计算机,完全不懂是什么玩意。 一不小心在百度百科看到还有光子计算机,生物计算机,吓我一跳,赶紧复制链接过来,自己慢慢看《百度百科—-计算机》 &nbs…

    Linux干货 2016-06-29
  • 由摩根定律引发的思考

    在Linux中,我们常常需要对一些条件进行判断,而对于多个条件的组合判断是基于摩根定律而进行的。所以理解摩根定律对于我们学习条件判断是很有必要的,下面我们就先介绍摩根定律进而引出其在一些具体场景上的应用。   一、摩根定律 在Linux中的条件判断中,摩根定律可以以下式来表示: !( A || B )=!A && !B !( A &…

    Linux干货 2016-08-16
  • Linux上功能强大的文本编辑工具—vim

    vim–Vi Improved是一款全屏文本编辑器 vi: Visual Interface,文本编辑器 可见,vim是vi的升级版,所以我们当然要学习vim! vim的功能强大,自然命令、用法也会种类繁多,想要用的得心应手自然是需要长期的实际操作的,正所谓工欲善其事必先利其器,我们要想能够在linux上从容应对繁多的文本编辑,无疑vim编辑器是…

    Linux干货 2016-08-12
  • 第九周-Shell脚本编程

      1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; #!/bin/bash nologin=0 login=0 for i in `cut -d : -f 7 /etc/passwd`;do if [ $i = /sbin/n…

    Linux干货 2017-08-23
  • Docker 简介

    Docker在现有云计算虚拟化中是非常火的一个项目,那么他和虚拟化有什么不同呢 从上图来看,好像和我们之前说到的虚拟化并没有什么不同,但这里需要说明的是在各guest主机上,是没有操作系统的,他们共用Host主机上的内核空间,只对用户空间进行了隔离。 因此在这种环境下我们不把他称为虚拟化而称作容器。 此种方式的实现主要基于了linux内核自带的两项技术,分别…

    2017-03-19