• nginx读书日志


    2016.12.20

    nginx 功能特性: 既可以作为http服务器,也可以作为反向代理服务器或者邮件服务器

    基本服务:处理静态文件,处理索引文件以及支持自动索引

    nginx服务器中主要由proxy_cache提供缓存服务

    worker_processes number|auto;

      number :是指定进程最多可以产生的 worker process 

      auto :nginx 进程将自动检测

    nginx分模块基本可以分为3个模块

    1.全局块(默认配置文件从开始到events的内容 设置一些影响nginx服务整体运行的配置指令 通常包括运行的nginx服务器的用户组,允许生成的worker process数 nginx进程pid存放路径 日志存放路径的类型以及配置文件引入)

    2.events块(影响nginx服务器与用户的网络链接 对nginx服务影响的性能较大)

    3.http块(代理 缓存和日志定义 和第三方模块的配置)

    http块下面包含 

      server块 每个server块相当于1台虚拟主机

      location块 对特定的请求进行处理 地址定向 数据缓存 和 应答控制等都是在这部分实现

    accetp_mutex on|off 默认为开启状态 在events块中进行配置 对多个nginx进程接收连接序列化防止多个进程对连接的争抢

    molti_accept on|off 默认为关闭状态 因为每个worker process都有能力同时接收多个新到达的网络连接 off状态的时候每个worker process 一次只能接收一个新到达的网络连接 改指令只能在events中进行设置

    worker_connections   是nginx服务器实现并发处理的关键 理论上来说worker_connections值越大可以支持的并发处理量也越多 但是还是要受限制于操作系统本上和软件本身和硬件

    worker_connections 主要用来设置允许每一个worker process同时开启的最大连接数量 其语法结构为

      worker_connections number;默认 number 的值为512     

    定义MIME-Type

    在常用的浏览器中可以显示的内容有html.xml.gif.flash.等多种媒体资源 浏览器为了区分致谢资源 需要使用MIME Type.也就是nginx作为web服务器

    在http模块的全局中进行配置

    include mime.types;#支持的媒体类型

    default_type application/octet-stream; #默认的类型

    20170208

    配置nginx进程pid存放路径

    nginx进程作为系统的守护进程运行,我们需要在文件中保存当前运行程序的主进程号 指令是pid

    配置成功和失败的日志

      error_log file | stderr [debug | info | notice | warn | error | crit | alert | emerg]

        eg:error_log logs/error.log error;

      access_log file

    配置文件的引入 

      include file

    配置连接超时时间

      keepalive_timeout timeout [header_timeout];

      timeout 服务器端对连接的保持时间 默认值75s

    日志的输入格式配置

    log_format custom '$remote_addr - $remote_user [$time_local] '
    '"$request" $status $request_time $body_bytes_sent '
    '"$http_referer" "$http_user_agent" "$request_body"';

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

    listen 是监听端口 

      listen *:80 | *:8000;

    基于名称的虚拟主机配置

      server块对外提供的虚拟主机

      server_name name ...;对于name来说可以只有一个名称 也可以由多个名称并列,同时也支持*符号和正则表达式

      eg:server_name myserver.com www.myserver.com;

    配置location块

      官方文档中定义的location 语法结构为:location [= | ~|~*|^~] uri (...)

      uri 为待匹配的请求字符串 可以使不含正则表达的字符串 如/myserver.php等,也可以是半酣正则表达式的字符串

    配置请求的根目录

      web服务器收到网络请求后 是在服务器端的指定目录中寻找资源,在nginx服务器中指令root就是用来配置这个根目录的 root path; 

      这个root可以在 http server location块中配置

      eg : location /data/ {

           root /locationtest1; 

         }

      当location块接收到 "data/index.html"的请求是,将在locationtest1/data/目录下找到index.html相应请求

    在location块中 除了使用root指令明确请求的根目录,还可以使用alias指令改变location接收到的uri的请求路径,其语法结构为:alias path;patch 即为修改后的根路径

      eg : location ~^/data/(.+.(htm|html))$ {

          alias  /locationtest1/other/$1;

         }

        当location 块接收到 "/data/index.htm"请求后 匹配成功

      

  • 相关阅读:
    POJ 1830 开关问题
    UESTC 1558 Charitable Exchange
    UESTC 1546 Bracket Sequence
    POJ 2847 Widget Factory
    java实现自动登录,并获取数据
    学习JAVA浮点数必看文章!
    Linux cron 配置样例
    Red Hat 安装 Tomcat
    在RedHat Enterprise Linux 5下安装JDK
    使用seconds_behind_master和mkheartbeat 检查MySQL数据库主从延时
  • 原文地址:https://www.cnblogs.com/zerohu/p/6202562.html
Copyright © 2020-2023  润新知