ITPub博客

首页 > Linux操作系统 > Linux操作系统 > nginx 入门之理论基础(-)

nginx 入门之理论基础(-)

原创 Linux操作系统 作者:紫翼龙王夜 时间:2015-02-13 11:49:15 0 删除 编辑


NGINX

多节点 需要多quorum以及stonith,集群文件系统双主模型的DRBD GFS文件系统

《从零构建集群》

 

nginx:2002年Igor Sysoev 开发,2004年成为一个开源项目,有35.5M用户来使用,国内例如QQ 163 126,特点:具有出色的性能、可靠性、插件化结构、简单的配置、低资源占用率。

 

使用epoll的I/O模型,基于事件驱动使用异步的方式执行,响应速度快内存占用低,使用边缘触发、水平触发来提高响应率,wordpress、sourceforge都使用nginx。

 

功能:

它可以作为一个WEB服务器来使用;

也可以作为WEB的反向代理服务器,web reverse proxy

它同样可以作为SMTP反向代理服务器(较少使用)

LNMP:与PHP搭配向外提供动态网页服务,且必须基于FastCGI的结构来提供服务。

URL重写:

epoll模型,功能强劲,


Ps:德国的lighttpd使用lua脚本,性能与nginx不相上下;

       GNU发音[genu:] Gnome[genom]




代理服务器:

 工作在应用层,将客户端的请求进行转发,但在用户始终认为proxy为请求资源的网站,在客户端看来可以是一个集网站于一身的服务器;对已proxy来说,接到客户端的请求,再由自己对用户请求进行分析后,在想目的资源发起请求,获取资源后在有自己发送非客户端。

 proxy具有防火墙功能,能够分析数据包内容,来屏蔽定义的内容;

 proxy的通信加速功能:接收到用户请求先查找本地缓存,命中直接反馈信息,未命中则发起服务,从而大大节约带宽资源。

跟NAT的区别:

nat在网络层,将用户请求数据包进行地址转换后,发给目的地址,对客户端来说代理服务器是透明的。

反向代理web reverse proxy:

向外部宣称自己提供内网的所有服务,对外网来说将各种服务请求全部发给proxy,再由proxy进行想内网转发;此时,proxy也是先查询本地缓存,命中直接反馈,未命中再向后端服务器发出请求,这就是“反向代理”;注意一般来说只缓存静态内容(新闻、图片等),动态内容一般不进行缓存(账号密码、论坛发帖等)。

 

配置文件:

events{}

#并发事件数

worker_processes

#cpu核的个数

http{

sendfile on;

#内核空间的系统调用,直接将用户调用的文件从内核直接发送到网卡;仅对小于1K的文件才有效,否则必须要到用户空间。

keepalive_timeout 65;

#持久连接的超时时间

}

 

 

server{

#每一个虚拟主机就需要一个server段

}

location / {

root html;#根是html(如不注明绝对路径,则相对于安装路径来说)

#或改成/web带有绝对路径

index index.html index.htm;

}

#定义特定路径下的网页文件具有的访问特征(访问权限、访问属性)

location后可跟如下字符

/:直接根目录,只要在目录下都匹配

=:精确匹配,必须访问目录本身

~:

~*:不区分大小写的正则表达式匹配

^~:禁用搜索路径时的正则表达式功能

注意:非正则表达式的优先级要高;

       子目录的优先级较高,如果没有定义子目录就进行全局搜索

 

location / { #相对路径

root /web;#根目录

index index.html index.htm;

}

#/web/

location /bbs { #相对路径

root /bbs; #根目录

index bbs.index;

allow 192.168.0.0/24; #访问控制

deny all;

}

#/bbs/bbs

 

虚拟主机定义

注意 :需要先注销中心主机的server项

server {

    listen          80;

    server_name    

    access_log      /var/log/nginx/a.access.log ;

 

    index index.html;

    root  /var/www/a;

  }

 

  server {

    listen          80;

    server_name    

    access_log      /var/log/nginx/b.access.log ;

 

    index index.html;

    root  /var/www/b;

  }

 #以域名作为区分

定义默认虚拟主机

A Default Catchall Virtual Host

 

server {

    listen          80 default;

    server_name     _;

    access_log      /var/log/nginx/default.access.log ;

 

    server_name_in_redirect  off;

 

    index index.html;

    root  /var/www/default;

  }

#定义在http服务中

#在使用ip登陆时,默认打开的网页

 

简单的负载均衡(反向代理)

http {

  upstream myproject {

    server 127.0.0.1:8000 weight=3;

    server 127.0.0.1:8001;

  }#转发和权重

 

  server {

    listen 80;

    server_name

    location / {

      proxy_pass http://myproject;

    }#转发到这些定义到

  }

}





来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/30129545/viewspace-1435063/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2015-02-05

  • 博文量
    87
  • 访问量
    414069