ngix介绍
ngix能做什么? 1 反向代理 2 负载均衡 3 正向代理 4 HTTP服务器(动静分离)
1 反向代理 Reverse Proxy 是指以代理服务器来接受来自internet或者是客户端的连接请求,然后将请求转发给内部网络上的服务器,并将服务器上得到的结果返回给internet上请求连接的客户端。
此时代理服务器对外表现就表现为一个反向代理服务器。简单来说就是真实的服务器不能直接被外部网络访问,所以需要一台代理服务器。而代理服务器能被外部网络访问的同时又跟真实服务器在同一个
网络环境,当然也可以是同一台服务器,只是端口号不同而已。
2 负载均衡也是ngix的一个常用的功能 其意思是分摊到多个操作单元上进行执行,例如web服务器,ftp服务器,企业关键应用服务器和其他关键任务服务器,从而共同完成任务。简单说就是当有2台或以上的服务器时,
根据规则随机的将请求分发到指定的服务器上处理,负载均衡一般都是需要同时配置反向代理,通过反向代理跳转到负载均衡,而ngix目前支持3种方式的负载均衡,还有2种常用的第三方策略。
2.1 RR (默认) 每个请求按照时间顺序逐一分配到不同的后端服务器,如果后台服务器down掉,能自动剔除。
2.2 权重 指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。
2.3 ip_hash 上面的两种方式都有一个问题,那就是下一个请求来的时候可能分发到另外一个服务器,当我们的程序不是无状态(采用了session保存数据),这时候就有一个很大的问题了,
比如把登录信息保存到了session中,那么跳转到另外一台服务器的时候就需要重新登录了。所以很多时候我们需要一个客户只访问一个服务器,那么就需要ip_hash了。iphash的每个请求按照访问ip的hash
结果分配。这样每个访客固定访问一个后端服务器,可以解决session的问题.
3 HTTP服务器 ngix本身也是一个静态资源服务器,当只有静态资源的时候,就可以使用ngix来做服务器,同时也很流行动静分离,就可以通过ngix来实现。
4 动静分离是让动态网站里的动态网页根据一定规则把不变的资源和经常变的资源区分开来,动静资源做好拆分之后,就可以根据静态资源的特点将其做缓存操作,这就是网站静态化处理的核心思路。
ngix介绍的更多相关文章
- 大型网站技术架构介绍--squid
一.大型网站技术架构介绍 1.pv高 ip高 并发量 2.大型网站架构重点 1. 高性能:响应时间,TPS,系统性能计数器.缓存,消息队列等. 高可用性High Availabilit ...
- Ngix 移动端与Pc端 反向代理判断
如神马搜索和百度(http://www.baidu.com),当用桌面浏览器和移动浏览器访问的结果是不一样的.其中的手段可能有两种: 转载Ngix反向代理判断 服务端直接判断UA输出不同的界面,JAV ...
- 【个人笔记】002-PHP基础-01-PHP快速入门-02-PHP语言相关介绍输
002-PHP基础-01-PHP快速入门 02-PHP语言相关介绍 1.PHP是什么 Hypertext Preprocessor超文本预处理器 是一种通用开源脚本语言 Personal Home P ...
- xshell连接Linux、ngix部署
Linux端安装sshd服务(openssh-server) 查看防火墙:ufw(Linux默认安装了) 再就是客户端了.. 平时在测试环境下的项目不能承载高并发,需要部署到web server上.w ...
- mod_php和mod_fastcgi和php-fpm的介绍,对比和性能数据
1.php中fastcgi和php-fpm是什么东西 最近在研究和学习php的性能方面的知识,看到了factcgi以及php-fpm,发现我对他们是少之又少的理解,可以说几乎是一无所知,想想还是蛮可怕 ...
- CSS3 background-image背景图片相关介绍
这里将会介绍如何通过background-image设置背景图片,以及背景图片的平铺.拉伸.偏移.设置大小等操作. 1. 背景图片样式分类 CSS中设置元素背景图片及其背景图片样式的属性主要以下几个: ...
- MySQL高级知识- MySQL的架构介绍
[TOC] 1.MySQL 简介 概述 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司. MySQL是一种关联数据库管理系统,将数据保存在不同的表中,而 ...
- Windows Server 2012 NIC Teaming介绍及注意事项
Windows Server 2012 NIC Teaming介绍及注意事项 转载自:http://www.it165.net/os/html/201303/4799.html Windows Ser ...
- Linux下服务器端开发流程及相关工具介绍(C++)
去年刚毕业来公司后,做为新人,发现很多东西都没有文档,各种工具和地址都是口口相传的,而且很多时候都是不知道有哪些工具可以使用,所以当时就想把自己接触到的这些东西记录下来,为后来者提供参考,相当于一个路 ...
随机推荐
- 命令行启动模块的Python代码研究
pyrasite的 __requires__ = 'pyrasite==2.0' import re import sys from pkg_resources import load_entry_p ...
- XGBoost、LightGBM、Catboost总结
sklearn集成方法 bagging 常见变体(按照样本采样方式的不同划分) Pasting:直接从样本集里随机抽取的到训练样本子集 Bagging:自助采样(有放回的抽样)得到训练子集 Rando ...
- Python JSON 字符串 转 json 基本使用
字符串 转 json import json jsonData = '{"a":1,"b":2,"c":3,"d":4 ...
- 阿里巴巴微服务与配置中心技术实践之道 原创: 坤宇 InfoQ 2018-02-08
阿里巴巴微服务与配置中心技术实践之道 原创: 坤宇 InfoQ 2018-02-08
- word中英文双引号的样式区分与替换技巧
https://jingyan.baidu.com/article/3f16e003147ea42590c10349.html 场景:一篇word文档中,想要全选更改字体,使得中文全部为“宋体”,英文 ...
- LC 456. 132 Pattern
Given a sequence of n integers a1, a2, ..., an, a 132 pattern is a subsequence ai, aj, ak such that ...
- 010-centos 端口问题
1.nmap 安装 yum install nmap #输入y安装 使用 nmap localhost #查看主机当前开放的端口 nmap -p 1024-65535 local ...
- Convex Hull | Set 1
Given a set of points in the plane. the convex hull of the set is the smallest convex polygon that c ...
- 如何禁用maven下载进度指示?
方法 mvn -B ..或者mvn --batch-mode ...
- 【数据库开发】Redis消息通知
消息通知 任务队列 使用任务队列的好处 松耦合.生产者和消费者无需知道彼此的实现细节,只需要约定好任务的描述格式.这使得生产者和消费者可以由不同的团队使用不同的编程语言编写 易于扩展.消费者可以有多个 ...