学习笔记----Ngnix指令及配置参数

Nginx

nginx操作指令

nginx只有几个命令行参数。与许多其他软件系统不同,配置完全是通过配置文件完成的 。摘自nginx官网

参数意义
-?, -h打印nginx的指令帮助文档
-v打印nginx版本
-V打印nginx版本、编译版本以及配置参数
-t仅仅检查nginx的配置文件正确性,并输出检验的配置文件路径
-q在配置测试期间禁止非错误消息
-sstop(停止)、 quit(退出)、reopen(重启)、reload(重新加载配置文件)(version > 0.7.53)
-c指定启动的配置文件
-p设置前缀路径(默认是:/usr/local/nginx/)(version > 0.7.53)
-g设置配置文件外的全局指令(version > 0.7.4)

nginx配置文件参数介绍

英文功底好,还是建议直接去看官方文档

# 使用的用户和组
user www www

# 指定工作衍生进程数(一般等于CPU的总核数或总核数的两倍,例如两个四核CPU,则总核数为8)
worker_processes 8

# 指定错误日志存放的路径,错误日志记录级别可选项为:[ debug | info | notice | warn | error | crit]
error_log /data1/logs/nginx_error.log crit

# 在日志格式样式中,支持自定义日志格式
# 变量$remote_addr和$http_x_forwarded_for用于记录IP地址;
# 变量$remote_user用于记录远程客户端用户名称;
# 变量$time_local用于记录访问时间与时区;
# 变量$request用于记录请求URL与HTTP协议;
# 变量$status用于记录请求状态,例如成功时状态为200,页面找不到时状态为404;
# 变量$body_bytes_sent用于记录发送给客户端的文件主体内容大小;
# 变量$http_referer用于记录是从哪个页面链接访问过来的;
# 变量$http_user_agent用于记录客户端浏览器的相关信息。
log_format mylogformat $http_x_forwarded_for - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent"

# 启用自定义格式来记录日志
access_log /data1/logs/access.log mylogformat buffer=32k

# 指定 pid 存放的路径
pid /usr/local/webserver/nginx/nginx.pid

# 指定文件描述符数量
worker_rlimit_nofile 51200

events
{
  # 事件驱动模型,select|poll|kqueue|epoll|resig|/dev/poll|eventport,Linux系统推荐采用epoll模型,FreeBSD系统推荐采用kqueue模型
  use epoll

  # 最大连接数,默认为512
  worker_connections 51200

  # 设置网路连接序列化,防止惊群现象发生,默认为on
  # 惊群现象:一个网路连接到来,多个睡眠的进程被同事叫醒,但只有一个进程能获得链接,这样会影响系统性能。
  accept_mutex on

  # 设置一个进程是否同时接受多个网络连接,默认为off
  multi_accept on
}
http
{
  # 文件扩展名与文件类型映射表
  include mime.types

  # 默认文件类型,默认为text/plain
  default_type application/octet-stream

  # 允许sendfile方式传输文件,默认为off,可以在http块,server块,location块
  sendfile on

  # 每个进程每次调用传输数量不能大于设定的值,默认为0,即不设上限。
  sendfile_max_chunk 100k

  # 连接超时时间,默认为75s,可以在http,server,location块。
  keepalive_timeout 65

  # 开启gzip压缩
  gzip on
  gzip_min_length  1100;
  gzip_buffers     4 8k;
  gzip_types       text/plain;

  #设定请求缓冲
  client_header_buffer_size 128k
  large_client_header_buffers 4 128k

  # 配置负载均衡
  upstream www.monk.com{
    # weight         表示权重
    # max_failds     最大失败次数
    # fail_timeout   失败超时时间
    server 192.168.1.1 weight=1 max_fails=3 fail_timeout=30s
    server 192.168.1.2 weight=2 max_fails=3 fail_timeout=30s
    server 192.168.1.3 weight=3 max_fails=3 fail_timeout=30s

    # ip_hash解决负载均衡时session丢失的问题,配置了ip_hash后,nginx会对于同一个IP发过来的请求继续路由到同一个server上去处理
    ip_hash;

    ### 如果权重、ip_hash都没有配置,nginx默认的负载均衡策略就是轮询 ####
  } 


  server
  {
    # 监听的端口
    listen 80

    # 主机名称(可以配置多个,空格隔开即可)
    server_name www.monk.com

    # 单连接请求上限次数。
    keepalive_requests 120
    # 请求的url过滤,正则匹配,~为区分大小写,~*为不区分大小写,/为匹配全部请求url
    # 详细的介绍可以参见 http://www.nginx.cn/115.html

    location ~*^.+$ {
      # 请求转发地址
      proxy_pass http://www.baidu.com;

      # 拒绝的IP
      deny 127.0.0.1;

      # 允许的IP
      allow 192.168.0.0;

      # 默认首页文件,顺序从左到右,如果找不到index.html文件,则查找index.htm文件作为首页
      index index.html index.jsp;

      # HTML网页文件存放的目录
      root  /data0/htdocs/server2;
    }

    # 通过nginx实现动静分离,也是对于不同的地址拦截,然后做不同的处理,比方:
    location ~* \.(mp4|mp3|jpg|png)$ {
      # 如果请求地址以mp4|mp3|jpg|png结尾,就去resource/meta目录下取对应资源
      # resource/meta目录这里是相对路径也可以是绝对路径,把这些静态资源放到对应的目录下即可
      root resource/meta

      # 失效时间20天
      expires 20d
    }

    # 通过nginx实现动静分离,也是对于不同的地址拦截,然后做不同的处理,比方:
    location ~* \.(html|js|css)$ {
      # 如果请求地址以html|js|css结尾,就去resource/static目录下取对应资源
      # resource/static目录这里是相对路径也可以是绝对路径,把这些静态资源放到对应的目录下即可
      root resource/static

      # 失效时间3天
      expires 3d
    }

    location ~ \.do$ {
      # 对于以.do开始的请求(几乎是全部请求全部路由到baidu的首页)
      proxy_pass http://www.baidu.com;
    }

    # 对于其他类型的静态资源或者自己规则的请求,都可以在这里进行配置
    ....

  }


  # 可以配置多个的
  server{
    ......
  }
}

参考文献

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值