标签:127.0.0.1 根据 热部署 存储 stream 参考 后台服务 定义 机器
Nginx是什么
Nginx是一款轻量级的Web服务器,也是一款轻量级的反向代理服务器。
Nginx能干什么
Nginx能干的事情很多,这里简要罗列一些:
1:直接支持Rails和PHP的程序
2:作为HTTP反向代理服务器
3:作为负载均衡服务器
4:作为邮件代理服务器
5:帮助实现前端动静分离
……
Nginx特点
高稳定、高性能、资源占用少、功能丰富、模块化结构、支持热部署
反向代理:(为服务器服务)
Nginx通常被用作后端服务器的反向代理,这样就可以很方便的实现动静分离,
以及负载均衡,从而大大提高服务器的处理能力。
Http Proxy模块,功能很多,最常用的是proxy_pass,最好还是都看看。
如果要使用proxy_cache的话,需要集成第三方的ngx_cache_purge模块,用来清
除指定的URL缓存。这个集成需要在安装nginx的时候去做,形如:
./configure --add-module=../ngx_cache_purge-1.0 ……
负载均衡的实现:
Nginx通过upstream模块来实现简单的负载均衡
在upstream块内,定义一个服务器列表,默认的方式是轮询,如果要确定同一个
访问者发出的请求总是由同一个后端服务器来处理,可以设置ip_hash,如:
upstream cctest1.com {
ip_hash
server 127.0.0.1:9080 weight=5;
server 127.0.0.1:8080 weight=5;
server 127.0.0.1:1111;
}
请注意:这个方法本质还是轮询,而且由于客户端的ip可能是不断变化的,比如动
态ip,代理,FQ等等,因此ip_hash并不能完全保证同一个客户端总是由同一
个服务器来处理。
更多指令和配置,请参考Nginx的http负载均衡模块
ip_hash的方式轮询,可以让同一个ip访问同一个机器,保证session一致。
缺点:第一、并不能保证,因为上网如果通过代理访问,则同一用户的ip地址会变。第二,如果一个服务器挂了,则某一部分ip就会无法访问。
GEOheGEOip模块-----通过不同地区的ip来分配到不同的服务器,需要同时配置数据库。geo相当于upstream的集合,根据地区来分配到不同的集群里面去
location模块实现动静分离
Nginx实现动静分离,其实就是在反向代理的时候,如果是静态资源,那么就直
接从Nginx发布的路径去读取,而不需要从后台服务器获取了。
但是要注意:这种情况下需要保证后端跟前端的程序保持一致,可以使用Rsync
做服务端自动同步或者使用NFS、MFS分布式共享存储
标签:127.0.0.1 根据 热部署 存储 stream 参考 后台服务 定义 机器
原文地址:http://www.cnblogs.com/linli-alihuo/p/7090794.html