nginx

一、nginx的功能与特性。  

  1.基本功能:

    实现与服务静态文件(静态资源的web服务器),能缓存打开的文件描述符

    反向代理服务器,缓存、负载均衡、健康状态检测     

    支持FastCGI

    模块化机制,非DSO机制,支持多种过滤器gzip,SSI和图像的模块完成图形大小调整等

    支持SSL

  2.扩展功能:

    基于名称和IP做虚拟主机

    支持keeplive

    支持平滑配置更新或程序版本升级

    定制访问日志,支持使用日志缓存以提高性能

    支持URL rewrite

    支持路径别名

    支持基于IP及用户的认证

    支持速率限制,并发数限制等

二、安装nginx    

  1.安装编译pcre   

    下载链接:wget http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz
2.安装编译nginx,注意指定pcre地址
下载地址:wget http://nginx.org/download/nginx-1.6.2.tar.gz

四、niginx模块

  1.核心模块

  2.http标准模块

  3.可选http模块

  4.邮件模块

  5.第三方扩展模块

五、nginx配置

  1.配置分段

  2.配置分类

    ①正常运行必备配置

      user user group ;

        定义运行nginx的用户和用户组            

      pid /usr/local/nginx/logs/nginx.pid;

        PID进程文件

      worker_rllimit_nofile 65535;

        指定worker进程最大打开的文件描述符个数

      worker_rllimit_sigpending;

        设定每个用户能够发往worker进程的信号数量

    ②优化性能配置

      worker_processes 2;

        设定nginxworker进程数,一般是小于cpu核心数1

      worker_cpu_affinity

        设定nginx绑定的cpu个数

      ssl_engine device

        存在ssl硬件加速器服务器上,指定所使用的ssl加速器设备

      timer_resolution t

        设定nginx时间更新机制

      worker_priorty nice;

        设定进程优先级

    ③事件类配置

      accept_mutex [on|off]

        是否打开nginx负载均衡锁

      lock_file /path/to/lock_file

        lock文件位置

      accept_mutex_delay #ms;

        worker取得accept锁等待时长

      multi_accept [on|off]

        是否允许一次性相应多个用户请求,默认off

      use [epoll|rtsig|select|poll]

        定义nginx的世间模型,默认epoll

      worker_connections #;

        定义worker进程并发的最大连接数

    ④用于调试和定位问题配置

      daemon on|off

        是否将信息输出到后台,默认问on,调试的时候可以off,这样信息会直接输出到控制台

      mater_porcesses

        是否启用master进程,默认为on,调试的时候可以off,这样就会只启动worker,方便追踪

      error_log /pach/to/log level(info|debug)

        设定错误日志级别,调试时候可以使用debug,但是要编译时候有--with-debug,启用debug功能。

·    ⑤用于http的配置

       注意:http段必须使用虚拟主机,也就是必须使用server{ } 段来配置,可以有多个server,每个server有多个location,非server段可以放在server之外的公共区域

       server  :定于虚拟主机

        listen  :定义监听

        default_server :定义这个server为http中默认server,如果所有server中没有任何listen使用此参数,那么第一个server就是默认。

        server_name :配置域名

        index  :配置主页

        root :站点目录

        error_page :定义错误页面从定向

        index :定义主页

        try_files :尝试从左向右找寻页面,如果没有找到就返回最后一个路径页面。

    ⑥网络相关设置

        keepalive_timeout time :保持连接的超时时长,默认75s

        keepalive_requests :再一次长连接上允许承载的最大请求数

        keepalive_disble :对指定浏览器禁用长连接

        tcp_nodelay on |off :是否对keepalive使用tcp_nodelay选项

        client_header_timeout time :读取http首部超时时长

        client_body_timeout time:读取http请求包体的超时时间

     

    其他:

        rewrit  :地址重写,地址重定向

          标记:

            last:立即停止重写,并以重写后的内容在发起请求,在进行重写扫描

            break:立即停止重写,并直接访问,一般用break‘

         proxy_pass

          fasfcgi_pass

            

扩展:

HTTPD的常见方法

  安全方法:

    GET、HEAD

  其他方法:

    PUT

    POST

    DELETE

    OPTION

    TRACE