Nginx 反向代理、负载均衡
## Nginx 反向代理。
(一)简介
一、什么是代理服务器
客户机原本发送给服务器的请求,不会直接发送给服务器,而是先发送给代理服务器;经过代理服务器处理后转发给服务器;服务器数据处理后转回给代理服务器,代理服务器再返回给客户机的一个过程。

二、代理服务器的作用
1. 防火墙作用
由于所有的客户机请求都必须通过代理服务器访问远程站点,因此可在代理服务器上设限,过滤某些不安全信息;
2. 提高Web访问速度
可以缓存真实Web服务器上的某些静态资源,减轻真实Web服务器的负载压力;
3. 实现负载均衡
内部可以采用多台服务器来组成服务器集群,外部还是可以采用一个地址访问;
(二)架构思路
一、架构图

先来分析这张图:
1. 用户会访问 “10.167.167.167(默认80端口)” 。
2. Nginx收到 PC 端的HTTP请求。
3. Nginx根据配置将请求负载到 三台Apache的机子上去。
4. Apache服务器将数据处理后返回给Nginx。
5. Nginx将数据返回PC
(二)看完以上的分析后,可能大家有会几个问题:
1. 为什么使用Nginx做代理服务器?
a) 轻量级,同样起web 服务,比apache 占用更少的内存及资源;
b) 非阻塞、高并发连接:数据复制时,磁盘I/O的第一阶段是非阻塞的。官方测试能够支撑5万并发连接,在实际生产环境中跑到2~3万并发连接数;
2. 为什么使用Apache后台服务器?
a) rewrite ,比nginx 的rewrite 强大;
b) 少bug ,nginx 的bug 相对较多;
c) 稳定
三、架构实战
(一) Nginx、Apache 安装
1. http://www.cnblogs.com/bluebirds/p/6386649.html (这是之前讲到的在window安装nginx的案例, Linux也很简单,这里就不做多讲了)
(二)Nginx配置
1. Nginx.conf
进程数与每个进程的最大连接数
Nginx进程数,建议设置为等于CPU总核心数
单个进程最大连接数,那么该服务器的最大连接数 = 连接数 * 进程数
#user apache;
worker_processes ; # 工作进程的个数 events {
use epoll;
worker_connections ; # 单个进程的连接数
} http {
# 服务器集群(Apache) weight 分配权重 权重越大 分配概率越高.
upstream php_pool{
server 192.168.10.101: max_fails= fail_timeout=30s weight=;
server 192.168.10.102: max_fails= fail_timeout=30s weight=;
server 192.168.10.103: max_fails= fail_timeout=30s weight=;
}
}
server {
listen ;
server_name www.test.com; # 域名 本地
access_log /data/www/logs/nginx_log/access/www.test.com_access.log main ;
error_log /data/www/logs/nginx_log/error/www.test.com_error.log ;
root /data/www/vhosts/www.test.com/httpdocs ;
index index.html index.php;
error_page /.html;
location ~ \.php$ {
proxy_pass http://php_pool; # 服务集群池
include proxy_params;
expires -;
}
location / {
include proxy_params;
if (!-d $request_filename){
set $flag $flag;
}
if (!-f $request_filename){
set $flag $flag;
}
if ($flag = ""){
proxy_pass http://php_pool;
expires -;
}
}
}
以上就是 反向代理的配置,只要理解服务的访问过程及原理,应该是不难的。
四、学习总结
本章借助Nginx 和 Apache 搭建了反向代理服务器,实在的基本的负载均衡。
在目前大多数的应用中,都会将Nginx部署在Linux服务器中,并且会做一些针对负载均衡的优化配置;
经过这次也更加深入的了解了 Nginx 和 Apache 服务配置两种服务的优缺点,能够更准确的在场景中运用。
Nginx 反向代理、负载均衡的更多相关文章
- Nginx 反向代理 负载均衡 虚拟主机配置
Nginx 反向代理 负载均衡 虚拟主机配置 通过本章你将学会利用Nginx配置多台虚拟主机,清楚代理服务器的作用,区分正向代理和反向代理的区别,搭建使用Nginx反向搭理和负载均衡,了解Nginx常 ...
- Nginx 反向代理 负载均衡 虚拟主机
Nginx 反向代理 负载均衡 虚拟主机配置 通过本章你将学会利用Nginx配置多台虚拟主机,清楚代理服务器的作用,区分正向代理和反向代理的区别,搭建使用Nginx反向搭理和负载均衡,了解Nginx常 ...
- 十.nginx反向代理负载均衡服务实践部署
期中集群架构-第十章-nginx反向代理负载均衡章节章节====================================================================== 0 ...
- 【转】Nginx 反向代理 负载均衡 虚拟主机配置
原文:http://www.cnblogs.com/itdragon/p/8059000.html Nginx 反向代理 负载均衡 虚拟主机配置 通过本章你将学会利用Nginx配置多台虚拟主机,清楚代 ...
- Centos7.4 Nginx反向代理+负载均衡配置
Ningx是一款高性能的HTTP和反向代理服务器,配置起来也比较简单. 测试环境: 172.16.65.190 Nginx-反向代理 172.16.65.191 Ningx-Web 172.16.65 ...
- 如何使用Weave以及Docker搭建Nginx反向代理/负载均衡服务器
Hi, 今天我们将会学习如何使用 Weave 和 Docker 搭建 Nginx 的反向代理/负载均衡服务器.Weave 可以创建一个虚拟网络将 Docker 容器彼此连接在一起,支持跨主机部署及自动 ...
- 项目实战2.2—nginx 反向代理负载均衡、动静分离和缓存的实现
实验一:实现反向代理负载均衡且动静分离 1.环境准备: 机器名称 IP配置 服务角色 备注 nginx VIP:172.17.11.11 反向代理服务器 开启代理功能 设置监控,调度 rs01 RIP ...
- 项目实战2.1—nginx 反向代理负载均衡、动静分离和缓存的实现
总项目流程图,详见 http://www.cnblogs.com/along21/p/8000812.html 实验一:实现反向代理负载均衡且动静分离 1.环境准备: 机器名称 IP配置 服务角色 备 ...
- 项目实战02:nginx 反向代理负载均衡、动静分离和缓存的实现
目录 实验一:实现反向代理负载均衡且动静分离 1.环境准备: 2.下载编译安装tengine 3.设置代理服务器的配置文件 4.启动tengine服务 5.开启后端的web服务 6.测试 实验二:ng ...
- Centos 7.6配置nginx反向代理负载均衡集群
一,实验介绍 利用三台centos7虚拟机搭建简单的nginx反向代理负载集群, 三台虚拟机地址及功能介绍 192.168.2.76 nginx负载均衡器 192.168.2.82 web ...
随机推荐
- arcgis sde 导出栅格文件失败,提示“Database user name and current user schema do not match ”.
具体错误/警告如下: 翻译一下:数据库用户名和当前用户数据库对象的集合不匹配 没有空间参考存在 数据库表没找到 主要还是第一句的问题. 解决方法:切换当前sde账户为能够写入sde的账户,这块不是很了 ...
- Javascript编码规范,好的代码从书写规范开始,增强代码的可读性,可维护性,这是相当重要的!
1. 前言 JavaScript在百度一直有着广泛的应用,特别是在浏览器端的行为管理.本文档的目标是使JavaScript代码风格保持一致,容易被理解和被维护. 虽然本文档是针对JavaScript设 ...
- python编码问题大终结
一.了解字符编码的知识储备 1. 文本编辑器存取文件的原理(nodepad++,pycharm,word) 打开编辑器就打开了启动了一个进程,是在内存中的,所以在编辑器编写的内容也都是存放与内存中的, ...
- JS实现AOP拦截方法调用
//JS实现AOP拦截方法调用function jsAOP(obj,handlers) { if(typeof obj == 'function'){ obj = obj.prot ...
- 【论文:麦克风阵列增强】Speech Enhancement Based on the General Transfer Function GSC and Postfiltering
作者:桂. 时间:2017-06-06 16:10:47 链接:http://www.cnblogs.com/xingshansi/p/6951494.html 原文链接:http://pan.ba ...
- Analog/digital converter (ADC)
1.ADC1 and ADC2 are 10-bit successive approximation Anolog to Digital Converters. 所谓successive appro ...
- SQL之trigger(触发器)
先来看一小段程序 有如下三张表: 帐户(编号,姓名,余额,建立日期,储蓄所编号) 储蓄所(编号,名称,地址,人数,所属城市) 借贷(帐户,借贷类型,金额,日期) create trigger tri_ ...
- 使用CSS3动画实现绚丽的照片墙效果
临近毕业了,一大波毕业照又要来袭了!如何使用CSS3属性制作出自己的网页版照片墙呢? 闲话少说,先来看看效果图 效果要求: 1,照片要求有一定的白色边框. 2,照片都要有一定的倾斜角度. 3,鼠标移动 ...
- Linux命令 查看及修改文件属性
chmod [功能说明] 改变文件的访问权限 #Linux中访问权限分为:文件属主(文件的创建者)文件组属主(创建者所处的组)和其他(其他用户) [语法格式] Chmod[参数]mode[文件名或目 ...
- 教你轻轻松松入门PHP
入门PHP不用愁,跟我来学一学. 1.我们想学习PHP,首先就要了解PHP,那PHP是什么呢? PHP("PHP: Hypertext Preprocessor",超文本预处理器的 ...