导航

Nginx

Posted on 2017-10-31 15:53  耍流氓的兔兔  阅读(149)  评论(0编辑  收藏  举报

 

什么是Nginx:

  Nginx是一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器
  其特点是占有内存少,并发能力强,官方测试nginx能够支撑5万并发链接,并且cpu、内存等资源消耗却非常低,运行非常稳定  

  中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等

  参考链接:http://blog.csdn.net/xlgen157387/article/details/49781487

Nginx应用场景:

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

  邮件服务器:

  虚拟主机:可以实现在一台服务器虚拟出多个网站

    通过端口区分不同的主机

    通过域名区分不同的主机

  反向代理:当网站的访问量达到一定程度后,单台服务器不能满足用户请求,需要用多台服务器集群可以使用Nginx做反向代理

  负载均衡:多台服务器可以平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况

Nginx实现虚拟主机:

#端口号配置不同主机
server {
    listen 80;
    server_name xx.xxx.xx.xx;

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

 server {
    listen 81;
    server_name xx.xxx.xx.xx;

    location / {
       root html;
       index index.html index.htm;
    }
 }
#域名配置不同主机
server {
    listen 80;
    server_name xx.com;

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

 server {
    listen 80;
    server_name yy.com;

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

Nginx实现代理:

  conf/nginx.conf是Nginx的默认配置文件,也可以用nginx -c指定你的配置文件

  正向代理:隐藏访问者的IP信息(FQ)

  反向代理:隐藏被访问者的信息

#实现反向代理
#用户请求的是xx.com网址,实际相应的是yy.com
upstream tomcat8082{
    sever yy.com:8082;
}

server {
    listen 8082;
    server_name xx.com;

    location / {
       proxy_pass http://tomcat8082;
       index index.html index.htm;
    }
 }

Nginx集群:

#注意,此处的地址不需要带http://,否则在proxy_pass中被视为无效的地址
upstream tomcat8283{ server yy.com; server zz.com weight
=2; } server{ listen 80; server_name xx.com; location /{ proxy_pass http://tomcat8283; index index.html index.htm; } }

 

Nginx实现负载均衡:

  根据机器的处理性能分配适当的请求

#配置负载均衡
upstream tomcat8283{
    server yy.com;
    server zz.com weight=2;
}
server{
    listen 80;
    server_name xx.com;

    location /{
        proxy_pass http://tomcat8283;
        index index.html index.htm;
    }
}

Nginx高可用的原理:

  要实现Nginx的高可用,需要实现备份机

  Nginx作为负载均衡器,所有请求都到了Nginx,如果Nginx服务器宕机后端web服务器将无法提供服务,影响严重;

  为了屏蔽负载均衡服务器的宕机,需要建立一个备份机;主服务器和备份机都运行高可用(High Availability)监控程序,通过传送诸如“I am alive”这一信息来监控对方的运行状况;当备份机不能在一定的时间内收到这样的信息时,它就接管主服务器的服务IP并继续提供负载均衡服务;当备份管理器又从主服务器收到信息后就释放服务IP,这样主服务器就开始再次提供负载均衡服务

  Keepalived + nginx实现主备,防止单点故障