Nginx模块介绍

一、利用nginx服务搭建网站文件共享服务器
    1、编写配置文件
    nginx模块功能:ngx_http_autoindex_module
    
    location / {
        autoindex on;
    }
    
    Syntax:    autoindex on | off;
    Default:    
    autoindex off;
    Context:    http, server, location
    
    server {
        listen          80;
        server_name     www.oldboy.top;
        location        / {
                root    /html/www;
                index   oldboy.html;
                autoindex on;        --开启nginx站点目录索引功能
        }
    PS:1.需要将首页文件删除    
       2.mime.types媒体资源类型文件作用
         文件中又得扩展名信息资源,进行访问时会直接看到数据信息
         文件中没有到扩展名信息资源,进行访问时会直接下载资源
        
    网站页面目录数据,中文出现乱码,如何解决:
    location        / {
        root    /html/www;
        index   oldboy.html;
        autoindex on;
        charset utf-8;        --修改目录结构中出现的中文乱码
    }
    
二、利用nginx服务搭建配置文件别名功能
    1、编写配置文件    
    server_name        www.oldboy.com old.com;
    2、配置好DNS解析信息
    
    作用:
    01:编写网站访问测试
    02:定位要访问的网站服务器
    
三、利用nginx状态模块功能对网站进行监控
    状态模块: ngx_http_stub_status_module
    
    location = /basic_status {
    stub_status;
    }    
    
    1、编写配置文件
    server {
        listen        80;
        server_name   state.oldboy.top;
        stub_status;
    }
    
    2、重启nginx服务,并且编写解析文件
    systemctl reload nginx
    10.0.0.7    status.oldboy.com
    
    Active connections:  激活的连接数信息  4000用户  3500
    accepts: 接收的连接数汇总(综合)  TCP
    handled: 处理的连接数汇总(综合)  TCP
    requests: 总计的请求数量  HTTP协议请求 
    Reading: nginx服务读取请求报文的数量    100人点餐
    Writing: nginx服务响应报文信息数量      100人响应
    Waiting: nginx队列机制,要处理(读取或者响应保存进行保存)   监控
    
四、nginx日志功能配置
    访问日志:/var/log/nginx/access.log        ngx_http_log_module
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;
    
    $remote_addr               显示用户访问源IP地址信息
    $remote_user            显示认证的用户名信息
    [$time_local]           显示访问网站时间
    "$request"              请求报文的请求行信息
    $status                 用户访问网站状态码信息
    $body_bytes_sent        显示响应的数据尺寸信息
    $http_referer           记录调用网站资源的连接地址信息(防止用户盗链)                    
    $http_user_agent        记录用户使用什么客户端软件进行访问页面的  (谷歌 火狐 IE 安卓 iphone)
    $http_x_forwarded_for   ??? 负载均衡

    错误日志:/var/log/nginx/error.log    --- core functionality
    Syntax:    error_log file [level];        指定错误日志路径以及错误日志记录的级别
    Default:    error_log log/error.log error;
    Context:    main, http, mail, stream, server, location
    
    error_log  /var/log/nginx/error.log warn;
    错误级别:
    debug        :调试级别: 服务运行的状态信息和错误信息详细显示        信息越多
    info        :信息级别: 只显示重要的运行信息和错误信息
    notice        :通知级别: 更加重要的的信息进行通知说明
    warn        :警告级别: 可能出现了一些错误信息,但不影响服务运行
    error        :错误级别: 服务运行已经出现了错误,需要进行纠正        推荐选择
    crit        :严重级别:必须进行修改调整
    alert        :严重警告级别:即警告,而且必须进行错误修改
    emerg        :灾难级别:服务已经不能正常运行                        信息越少
        
    PS: 日志文件信息需要做切割处理 
    
五、nginx服务location作用说明
    模块说明: ngx_http_core_module
    location进行匹配(uri)
    错误页面优雅显示
    location /oldboy {
       root /html/www;
       error_page  404  /oldboy.jpg;
    }
    location /oldgirl {
       root /html/www;
       error_page  404  /oldgirl.jpg;
    }
    
    location详细配置:
    Syntax:    location [ = | ~ | ~* | ^~ ] uri { ... }
            location @name { ... }
    Default:    —
    Context:    server, location
    location = / {              --- 精确匹配    优先级01 最高
    [ configuration A ]
    }
    
    location / {                --- 默认匹配    优先级04 最低
        [ configuration B ]
    }
    
    location /documents/ {      --- 按照目录进行匹配    优先级03
        [ configuration C ]
    }
    
    location ^~ /images/ {      --- 优先匹配/不识别uri信息中符号信息       优先级02
        [ configuration D ]
    }
     
    location ~* \.(gif|jpg|jpeg)$ {  --- 不区分大小写进行匹配  优先级03
        [ configuration E ]
    }
    
    6) 利用nginx实现页面跳转功能
    利用rewrite模块是跳转功能:  http_rewrite_module
    Syntax:    rewrite regex replacement [flag];   rewite  匹配的正则信息  替换成什么信息
    Default:    —
    Context:    server, location, if
    
    rewrite www.oldboy.com/(.*) http://www.oldboy.com/$1 permanent;   重写规则配置
        ^/        (.*)
    baidu.com    /  oldboy.html                  跳转方式
    
    www.baidu.com/oldboy.html
    
    跳转方式:
    永久跳转:  permanent   301    会将跳转信息进项缓存
    临时跳转:  redirect    302    不会缓存跳转信息
    
    出现无限跳转如何解决:
    第一种方法: 利用不同server区块配置打破循环
    server {
       server_name  oldboy.com;
       rewrite ^/(.*) http://www.oldboy.com/$1 permanent;
    }
    第二种方法: 利用if判断实现打破循环
    if ($host ~* "^oldboy.com$") {
      rewrite ^/(.*) http://www.oldboy.com/$1 permanent;
    }

    

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值