【阿里ECS】Nginx实现反向代理和负载均衡的配置及优化
2015-09-27 22:21
811 查看
[code]概述:反向代理是指的,服务器代理网络上的客户机请求,将请求转达给内部真实服务器,然后在返回给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; }
相关文章推荐
- Apache反向代理部署Web应用
- nginx反向代理与负载均衡
- 借助nginx搭建反向代理服务器小例
- Apache或者nginx反向代理时,request.getservername()出现的问题!
- Nginx反向代理搭建配置笔记
- 如何取得nginx做反向代理时的真实IP?
- Squid(Version 3.1.23)
- 使用 nginx + node.js 反向代理
- Apache2.4+Tomcat集群_反向代理配置
- Centos 安装配置代理服务器软件Squid
- nginx配置简单的反向代理
- 2.2-squid反向代理
- 2.1-squid正向代理
- 2.0-squid服务介绍
- Nginx安装配置实现用户认证、反向代理、隐藏版本号
- nginx+tomcat反向代理做负载均衡常见的问题
- rhel6下安装配置Squid过程
- Nginx反向代理 负载均衡 页面缓存 URL重写及读写分离
- 使用squid做出口防火墙
- 反向代理代理百度、google