Nginx学习经验分享

1.Nginx介绍:

先装一拨儿来段官方术语(来自百科):Nginx(engine x)是一个高性能的HTTP和反向代理服务器。也是一个IMAP/POP3/SMTP服务器。Nginx是由伊戈尔.塞索耶弗为俄罗斯访问量第二的Rambler.ru站点开发的,第一公开版本0.1.0发布于2004年10月4日。

其源代码以类BSO许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx1.0.4发布。

Nginx是一款轻量级的web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。

2.特点

1.耗费的资源比tomcat更少

2.nginx能够支持50000次并发.

3.实现负载均衡和反向代理

3.反向代理介绍

反向代理方式是指以代理服务器来接受internet上的链接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。

下图是我项目中使用Nginx反向代理的过程。

Nginx学习经验分享_第1张图片

4.nginx下载

 

http://nginx.org/en/download.html

Nginx学习经验分享_第2张图片

5.nginx入门

    1.以管理员身份运行安装包下的nginx.exe文件

    2.检查nginx是否启动

一次启动2个进程,其中一个是主进程,一个是守护进程。

3.nginx的启动命令

  • 重启命令:nginx -s reload
  • 停止命令:nginx -s stop
  • 启动命令:start nginx

6.负载均衡的介绍

  • 先说说传统结构的弊端

Nginx学习经验分享_第3张图片

 

    说明:

    1.传统的设备搭建时,如果采用单台服务器.则会出现很多的问题.如果服务器出现宕机/断电/硬件设备的损坏,都会直接影响用户   体验.

    2.如果传统项目中遇到了高并发的情况.单台服务器不足以支持

  • 分布式的处理

Nginx学习经验分享_第4张图片

说明:

 

由原来的单台服务器.现在变成了多台服务器.如果其中一台服务宕机.不影响其他服务器的使用.在一定程度上实现了高可用.

策略:通过nginx服务器.动态的将请求转发到不同的服务器上实现了分布式的部署.

分布式的部署,可以有效的防止高并发

  • 多台服务器部署

        准备工作:

            window部署:

                    127.0.0.1:8091:tomcat1

                    127.0.0.1:8092:tomcat2

                    127.0.0.1:8093:tomcat3

        修改端口号:

            修改端口号一共需改3处

        

        

        

        说明:

            首台服务器只需要修改8080,后续服务器端口号一次加一

  • nginx实现分布式部署和负载均衡

Nginx学习经验分享_第5张图片

负载均衡的机制:

    1.默认的条件下采用的是轮询的机制

    2.权重的配置

    Nginx学习经验分享_第6张图片

            通过weight属相,可以配置权重

        3.ip_hash   ip动态的绑定

 

 

            会根据ip地址动态的绑定一台服务器.只要以后这个ip地址发起请求.就会指向固定的服务器.

            优点:实现session的共享.用户只需登录一次.

             缺点:有session黏着问题.

        4.备用机机制

            由于主服务器不能及时响应,这时备用机就会代替主服务提供响应.

            Nginx学习经验分享_第7张图片

           5.IPHash与proxy_pass的区别

            IPhash是分布式的配置.虽然能够将ip地址和服务器进行动态的绑定.但是由于ip地址是动态的,那么最终算出的结果是多样 的,尽可能的分配到不同的服务器上.

            Proxy_pass:

            这是nginx的代理的转向,只能转向单台服务器.没有分布式的功能.

 

作者博客:http://www.major818.com

 

 

 

你可能感兴趣的:(学习经验分享)