Nginx 负载均衡与location应用分析

文章重点记录nginx负载均衡。

为了实验,我习惯性的先上拓扑图,如下:

Nginx 负载均衡与location应用分析

我们的案例需求如下,前端nginx做负载均衡,并处理静态页面,使用location查询过滤将动态页面交由后端apache服务器集群做处理。并由nginx回显内容输出。

nginx负载均衡服务器安装配置:

[root@lvs /]# rpm -qa | grep pcre pcre-devel-6.6-2.el5_1.7 pcre-6.6-2.el5_1.7  # pcre的作用是为nginx提供兼容perl的正则表达式,使nginx支持HTTP Rewrite模块.  [root@lvs ~]# wget http://nginx.org/download/nginx-0.8.53.tar.gz [root@lvs nginx-0.8.53]# ./configure  --with-http_stub_status_module[root@lvs nginx-0.8.53]# make && make install# --with-http_stub_status_module 可以用来启用nginx的nginxStatus功能,以监控nginx当前状态。

在继续配置之前,需要先了解我们要做什么。我只想做个基本的实验来看下nginx的负载均衡是如何工作的,所以我的实验设计是这样的。

当我们访问192.168.182.131/index.html 时,由于是静态页面,交给nginx本身处理,如果我们访问 192.168.182.131/test.php时,配置location匹配 .php 后缀,并交由后端apache集群来处理,至于集群会以什么样的方式来处理,后面用到时再说。 

[root@lvs conf]# pwd /usr/local/nginx/conf [root@lvs conf]# vim nginx.conf  user  nobody; worker_processes  1;  # 指定nginx要开启的进程数,建议一个CPU的内核就处理一个进程,所以如果是4核CPU,就指定4个进程数。  events {         use epoll;         worker_connections  1024; # use epoll 是指nginx的工作模式,epoll是比较高效的工作模式,对于 #linux/unix平台,epoll是首选模式。# worker_connections 是一个进程的最大连接数。由此即可算出最大的客户端数量:max_client = worker_processes * worker_connections;  http {    server {     listen              80;     server_name         192.168.182.131;     index               index.html;     root                /usr/local/nginx/html;     charset             gb2312;     upstream MyServer {             ip_hash;             server 192.168.182.132:80;             server 192.168.182.133:80;          }           location ~* .*.php$ {              proxy_pass          http://MyServer;      }       } 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/pxzfd.html