IT教程 | 加入收藏 | 简体 | 繁体
Linux&Unix服务器:IIS服务器Apache服务器Tomcat服务器其它整合Windows服务器Linux&Unix...
当前位置: 首页 > 服务器 > Linux&Unix服务器

Nginx实现反向代理和负载均衡的配置及优化

2016-04-08来源:[www.121ask.com]热度:0℃ 【字体:

概述:反向代理是指的,服务器代理网络上的客户机请求,将请求转达给内部真实服务器,然后在返回给Internet客户端,代理服务器上面没有任何网页资料。反向代理和正向代理没有冲突,可以在防火墙设备中同时使用这两种结合,正向代理可以进行过滤,保护内部网络安全。
 
软件七层负载均衡大多是基于HTTP反向代理,Nginx反向代理能够支持虚拟主机,可以按照轮询,IP哈希,URL哈希,权重方式对后端服务器做负载均衡,还支持后端服务器健康检查。
 
常见的Web负载均衡方法:
1、 DNS轮询:将同一个主机名添加多个A记录,DNS将解析请求安装A记录的顺序,随即分配到不同的IP上,使用dig baidu.com 就可以看到不同的A记录对应的IP地址。缺点:可靠性低,其中一台出现故障,就不会给予回应,就算从DNS去掉该服务器IP,但是也会保存在各地区的ISP众多的DNS缓存中。系统股灾不均衡,使用简单轮询,不能计算出服务器的负载差异,所以有可能客户集中请求到其中某一台服务器。
 
2、F5、LVS、DNS只能解析这里不做讲述
 
配置环境:
三台CentOS5.3,一台做nginx代理,2台apache做页面测试。apache端口改为:8080,nginx使用80口接收客户请求。
 
第1部分:安装
1 建立用户及组
/usr/sbin/groupadd www
/usr/sbin/useradd -g www www
 
 
2 安装pcre 让nginx支持rewrite 方便以后所需
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-7.8.tar.gz
tar zxvf pcre-7.8.tar.gz
cd pcre-7.8/
./configure
make && make install
 
 
3 安装nginx
wget http://sysoev.ru/nginx/nginx-0.7.58.tar.gz
tar zxvf nginx-0.7.58.tar.gz
cd nginx-0.7.58/
./configure --user=www --group=www --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module --with-cc-opt='-O2' --with-cpu-opt=opteron
make && make install
 
 
#注意上文中的--with-cc-opt='-O2' --with-cpu-opt=opteron 这是编译器优化,目前最常用的是-02 而不是3.后面对应CPU的型号,可参照:http://wiki.gentoo.tw/index.php/HOWTO_CFLAG
 
 
第2部分:配置及优化配置文件
1 nginx.conf 配置文件:
user    www www;
worker_processes 4;
 
 
# [ debug | info | notice | warn | error | crit ]
error_log    /usr/local/webserver/nginx/logs/nginx_error.log    crit;
pid                /usr/local/webserver/nginx/nginx.pid;
#Specifies the value for maximum file descriptors that can be opened by this process.
worker_rlimit_nofile 51200;
events
{
        use epoll;
        worker_connections 51200;
}
 
 
http
{
        include            mime.types;
        default_type    application/octet-stream;
        source_charset GB2312;
        server_names_hash_bucket_size 256;
        client_header_buffer_size 256k;
        large_client_header_buffers 4 256k;
 
 
        #size limits
        client_max_body_size            50m;
        client_body_buffer_size        256k;
        client_header_timeout    3m;
        client_body_timeout 3m;
        send_timeout            3m;
#参数都有所调整.目的是解决代理过程中出现的一些502 499错误    
        sendfile on;
        tcp_nopush        on;
        keepalive_timeout 120; #参数加大,以解决做代理时502错误
        tcp_nodelay on;
        
        include                    vhosts/upstream.conf;
        include                    vhosts/bbs.linuxtone.conf;
 
 
}
 
以上IT文章《Nginx实现反向代理和负载均衡的配置及优化》由名客技术网[www.121ask.com]提供阅读!
推广信息
推广信息
名客技术网是一个免费为广大IT技术人员提供IT教程,绿色软件,asp/php/jsp/java/net等实例视频教程,CMS教程,破解软件下载以及学习相关源码、知识的IT网站。
名客技术网如果无意之中侵犯了您的版权,请来电告知,本站将在3个工作日内删除 QQ:175352796
Copyright 2011-2017 Powered by 121ASK.COM, All Rights Reserved.
备案号:鄂ICP备11013833号-3