Http 原理及nginx基础特性

2016-12-14 15:55:00
村里来的扫地僧
原创
2153
web service:
    nginx: web server(static contents),web reverse proxy (http),cache
    varnish,squid:cache,http headers
    haproxy:tcp reverse proxy,http reverse proxy
    keepalived:HA
    ats:apache traffic server
    
    MogileFs,NosSQL(MongoDB)
    
Nginx: engine x  (http://nginx.org/)

    
    http protocol
    request  --->response
    请求报文:
        <method> <url> <version>
        <headers>
        <body>
    响应报文:
        <version><status code> <reason phrase>
        <headers>
        <body>
    响应码:
        1xx:状态信息码
        2XX:成功响应码
            200
        3XX:重定向
            301
            302
            304
        4XX:客户错误
        5XX:服务器错误

    stateless:无状态
        web page:web object
            http: 80 /tcp
                tcp 三次握手,四次断开
            
                keepalived:保持长连接
                    时间:timeout
                    数量:
                    
                cookie:
                    session  绑定
                        反均衡
                        session无可用
                    session复制
                        服务器资源消耗过大
                        网络资源
                    session服务器
                        服务器自身HA
                    
                    LVs Session绑定:
                        sh算法:基于源IP做绑定
                        persistent connection:
                        cookie均衡:Tengine
    IO模型:(五种模型)
        同步阻塞
        同步非阻塞
        IO复用:
            select(),poll()
            prefork:select()
        事件通知
        异步
        
        mmap :数据由磁盘直接以页面形式映射进行内存中:
    
    (并发编程) 处理并发用户请求:
        单进程模式:串型方式响应
        多进程模式:prefork,一个进程响应一个用户请求,并发使用多个进程实现:
        多线程模式:worker,一个进程生成多个线程,一个线程响应一个用户请求:并发使用多个线程实现:N进程,n*m 个线程:
        事件模型:event,一个线程响应多个用户请求:基于事件驱动机制来维持多个用户请求:
    
    Nginx特性:
        基本功能:实现服务与静态文件(静态资源web服务器),能缓存打开的文件描述符:
            反向代理服务,缓存,负载均衡:
            支持FastCGI
            模块化,非DSO机制,支持多种过滤器,Gzip,SSI,和图片模式(图像大小调整等)
            支持ssl
        
        扩展功能:
            基于名称和IP做虚拟主机
            支持Keepaived
            支持平滑配置更新或者程序版本升级
            定制访问日志,支持使用日志缓存以提高性能
            支持Url rewrite
            支持路径别名
            支持基于IP及用户的认证
            支持速率限制,并发限制等:
            
        Nginx的基本构架
            一个Master,生成多个worker
            事件驱动:Kqueue,Epoll,/dev/poll
                消息通知:select,poll,rt ,signals
            支持Sendfile,Sendfile64
            支持AIO
            支持mmap
                
        nginx :非阻塞,事件驱动,一个Master多个Worker,一个Worker响应多个用户请求
        
        Nginx的模块类别:
            核心模块
            标准Http模块
            可选的Http模块
            邮件模块
            第三方模块
发表评论
玖 乘 贰 =
评论通过审核后显示。