nginx

一、什么是Nginx

        1、概念:Nginx(是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。由俄罗斯的程序设计师Igor Sysoev(伊戈尔·西索夫)所开发,供俄国大型的入口网站及搜索引擎Rambler(漫步者)使用。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:新浪、网易、 腾讯等。

        2、优点

        ①、占用内存少,并发能力强

        ②、Nginx专为性能优化而开发, 在高连接并发的情况下,能够支持高达 50,000 个并发连接数的响应.

        ③、Nginx支持热部署, 可以在不间断服务的情况下,对软件版本进行升级.

二、应用场景  

        1、http服务器: Nginx是一个http服务可以独立提供http服务。可以做网页静态服务器。

        2、虚拟主机: 可以实现在一台服务器虚拟出多个网站。例如个人网站使用的虚拟主机。

        3、反向代理,负载均衡 : 当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用nginx做反向代理。并且多台服务器可以平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。

三、配置虚拟主机

        1、通过端口区分不同的虚拟主机

                修改Nginx配置文件配置文件实现不同端口区分虚拟主机



worker_processes  1;


events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;
   

    keepalive_timeout  65;

	#一个server表示一个主机
    server {
        listen       80;
        server_name  localhost;

        location / {
            root   html;
            index  index.html index.htm;
        }

    }
	#创建一个新的server
	server {
        listen       81;
        server_name  localhost;

        location / {
            root   html81;
            index  index.html index.htm;
        }

    }


}

        2、通过域名区分不同的虚拟主机

               配置IP与域名的映射

192.168.38.128 www.t1.com
192.168.38.128 www.t2.com

                配置nginx.conf

#通过域名区分虚拟主机
	server {
        listen       80;
        server_name  www.t1.com;

        location / {
            root   html-t1;
            index  index.html index.htm;
        }
    }
	
	server {
        listen       80;
        server_name  www.t2.com;

        location / {
            root   html-t2;
            index  index.html index.htm;
        }
    }

四、反向代理

        1、什么是代理:代理其实就是一个中介,A和B本来可以直连,中间插入一个C,C就是中介。刚开始的时候,代理多数是帮助内网client访问外网server用的。

        2、正向代理:正向代理代理的是客户端, 服务端不知道实际发起请求的客户端。

        3、反向代理:反向代理是指用代理服务器接收客户端的请求,然后将请求转发给网站内部应用服务器,并将从服务器上得到的结果返回给客户端。

        4、nginx实现反向代理

#反向代理配置 
	#upstream中的server是真正处理请求的应用服务器地址
	upstream lagou1{
		#用server定义HTTP地址
		server 192.168.38.128:8080;
	}
	
	
	server {
        listen       80;
        server_name  www.lagou1.com;
        location / {
        	# 利用 proxy_ pass可以将请求代理到upstream命名的HTTP服务
            proxy_pass http://lagou1;  #转发到的地址
            index  index.html index.htm;
        }
    }
	
	upstream lagou2{
		#用server定义HTTP地址
		server 192.168.38.128:8081;
	}
	
	
	server {
        listen       80;
        server_name  www.lagou2.com;
        location / {
            proxy_pass http://lagou2; 
            index  index.html index.htm;
        }
  }

五、负载均衡

        1、什么是负载均衡

                当一个请求发送过来的时候,Nginx作为反向代理服务器,会根据请求找到后面的目标服务器去处理请求,这就是反向代理. 那么, 如果目标服务器有多台的话,找哪一个服务器去处理当前请求呢 ? 这个合理分配请求到服务器的过程就叫做负载均衡。

        2、为什么使用负载均衡

                当系统面临大量用户访问,负载过高的时候,通常会使用增加服务器数量来进行横向扩展, 负载均衡主要是为了分担访问量,将请求合理分发给不同的服务器, 避免临时的网络堵塞。

        3、负载均衡策略

                ①、默认策略, 每个请求按照时间顺序逐一分配到不同的服务器,如果某一个服务器下线,能自动剔除

                ②、配置方式

#负载均衡
upstream lagouedu{
	# 用server定义 HTTP地址
	server 192.168.38.128:8080 weight=1;
	server 192.168.38.128:8081 weight=2;
}
server {
    listen       80;
    server_name  www.lagouedu.com;

location / {
	# 利用 proxy_ pass可以将请求代理到upstream命名的HTTP服务
    proxy_pass   http://lagouedu;
    index  index.html index.htm;
}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值