nginx的配置

1 server { ... } 配置一个虚拟主机;

                server {
                    listen address[:PORT]|PORT;
                    server_name SERVER_NAME;
                    root /PATH/TO/DOCUMENT_ROOT;                            
                }

在/etc/nginx/conf.d/vhost.conf中定义一个虚拟主机


image
image

在物理主机中添加nds解析后访问该域名,默认为80端口,注意清空防火墙策略


image
image

2 ngx_http_access_module模块,基于ip的访问控制模块

image
image

重载nginx的配置文件后访问


image
image

image
image

3.ngx_http_auth_basic_module模块实现基于用户的访问控制,使用basic机制进行用户认证

实现该功能模块前需安装httpd-tools包,需要使用htpasswd工具。
image
image

htpasswd -c -m /etc/nginx/.ngxpasswd kbq-------定义一个kbq用户可访问,使用md5加密,存放于.ngxpasswd文件中。

image
image

4.ngx_http_stub_status_module模块;用于输出nginx的基本状态信息

image
image
image
image

显示简述

            Active connections: 活动状态的连接数;
            accepts:已经接受的客户端请求的总数;
            handled:已经处理完成的客户端请求的总数;
            requests:客户端发来的总的请求数;
            Reading:处于读取客户端请求报文首部的连接的连接数;
            Writing:处于向客户端发送响应报文过程中的连接数;
            Waiting:处于等待客户端发出请求的空闲连接数;

5.ngx_http_log_module模块,必须在1.10版本之后才能使用

image
image

6.ngx_http_gzip_module:

    The ngx_http_gzip_module module is a filter that compresses responses using the “gzip” method. This often helps to reduce the size of transmitted data by half or even more.
            
            1、gzip on | off;
                Enables or disables gzipping of responses.
                
            2、gzip_comp_level level;
                Sets a gzip compression level of a response. Acceptable values are in the range from 1 to 9.
                
            3、  gzip_disable regex ...;
                Disables gzipping of responses for requests with “User-Agent” header fields matching any of the specified regular expressions.
                
            4、  gzip_min_length length;
                启用压缩功能的响应报文大小阈值; 
                
            5、gzip_buffers number size;
                支持实现压缩功能时为其配置的缓冲区数量及每个缓存区的大小;
                
            6、gzip_proxied off | expired | no-cache | no-store | private | no_last_modified | no_etag | auth | any ...;
                nginx作为代理服务器接收到从被代理服务器发送的响应报文后,在何种条件下启用压缩功能的;
                    off:对代理的请求不启用
                    no-cache, no-store,private:表示从被代理服务器收到的响应报文首部的Cache-Control的值为此三者中任何一个,则启用压缩功能;
                    
            7、gzip_types mime-type ...;
                压缩过滤器,仅对此处设定的MIME类型的内容启用压缩功能;

            示例:
                gzip  on;
                gzip_comp_level 6;
                gzip_min_length 64;
                gzip_proxied any;
                gzip_types text/xml text/css  application/javascript;

7.ngx_http_ssl_module模块


image
image
image
image

8.ngx_http_rewrite_module模块:将用户请求的URI基于regex所描述的模式进行检查,而后完成替换;

image
image

image
image

自动跳转为:

image
image

1、rewrite regex replacement [flag]
将用户请求的URI基于regex所描述的模式进行检查,匹配到时将其替换为replacement指定的新的URI;

        注意:如果在同一级配置块中存在多个rewrite规则,那么会自下而下逐个检查;被某条件规则替换完成后,会重新一轮的替换检查,因此,隐含有循环机制;[flag]所表示的标志位用于控制此循环机制;
        
        如果replacement是以http://或https://开头,则替换结果会直接以重向返回给客户端;
            301:永久重定向;
            
        [flag]:
            last:重写完成后停止对当前URI在当前location中后续的其它重写操作,而后对新的URI启动新一轮重写检查;提前重启新一轮循环; 
            break:重写完成后停止对当前URI在当前location中后续的其它重写操作,而后直接跳转至重写规则配置块之后的其它配置;结束循环;
            redirect:重写完成后以临时重定向方式直接返回重写后生成的新URI给客户端,由客户端重新发起请求;不能以http://或https://开头;
            permanent:重写完成后以永久重定向方式直接返回重写后生成的新URI给客户端,由客户端重新发起请求;
##              
    2、return
        return code [text];
        return code URL;
        return URL;
        
        Stops processing and returns the specified code to a client. 
        
    3、  rewrite_log on | off;
        是否开启重写日志;
        
    4、  if (condition) { ... }
        引入一个新的配置上下文 ;条件满足时,执行配置块中的配置指令;server, location;
        
        condition:
            比较操作符:
                ==
                !=
                ~:模式匹配,区分字符大小写;
                ~*:模式匹配,不区分字符大小写;
                !~:模式不匹配,区分字符大小写;
                !~*:模式不匹配,不区分字符大小写;
            文件及目录存在性判断:
                -e, !-e
                -f, !-f
                -d, !-d
                -x, !-x
                
    5、set $variable value;
        用户自定义变量 ;   

9.ngx_http_referer_module模块

    The ngx_http_referer_module module is used to block access to a site for requests with invalid values in the “Referer” header field. 
    
    1、valid_referers none | blocked | server_names | string ...;
        定义referer首部的合法可用值;
            
            none:请求报文首部没有referer首部;
            blocked:请求报文的referer首部没有值;
            server_names:参数,其可以有值作为主机名或主机名模式;
                arbitrary_string:直接字符串,但可使用*作通配符;
                regular expression:被指定的正则表达式模式匹配到的字符串;要使用~打头,例如 ~.*\.magedu\.com;
                
        配置示例:
            valid_referers none block server_names *.magedu.com *.mageedu.com magedu.* mageedu.* ~\.magedu\.;
            
            if($invalid_referer) {
                return http://www.magedu.com/invalid.jpg;
            }

10.ngx_http_proxy_module模块:

image
image

proxy_pass只能置于lication中


image
image
image
image
image
image

proxy_cache_path:


image
image

11.ngx_http_headers_module模块

        The ngx_http_headers_module module allows adding the “Expires” and “Cache-Control” header fields, and arbitrary fields, to a response header.
        
        向由代理服务器响应给客户端的响应报文添加自定义首部,或修改指定首部的值;
        
        1、add_header name value [always];
            添加自定义首部;
            
            add_header X-Via  $server_addr;
            add_header X-Accel $server_name;
            
        2、expires [modified] time;
            expires epoch | max | off;
            
            用于定义Expire或Cache-Control首部的值;
  1. PHP 脚本请求全部转发到 FastCGI处理. 使用FastCGI默认配置.

        location ~ \.php$ {
        root /root;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME                 
       /home/www/www$fastcgi_script_name;
       include fastcgi_params;
         }
    

设定查看Nginx状态的地址

location /NginxStatus {
stub_status      on;
access_log       on;
auth_basic       "NginxStatus";
auth_basic_user_file conf/htpasswd;

}

禁止访问 .htxxx 文件

location ~ /\.ht {
  deny all;
}

 }

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 148,637评论 1 318
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 63,443评论 1 266
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 99,164评论 0 218
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 42,075评论 0 188
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 50,080评论 1 266
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 39,365评论 1 184
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 30,901评论 2 283
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 29,649评论 0 176
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 33,122评论 0 223
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 29,734评论 2 225
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,093评论 1 236
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 27,548评论 2 222
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,028评论 3 216
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 25,765评论 0 9
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,291评论 0 178
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 34,162评论 2 239
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 34,293评论 2 242

推荐阅读更多精彩内容

  • 1.简介:  Nginx:engine X ,2002年,开源,商业版 http协议:web服务器(类似于ht...
    尛尛大尹阅读 1,815评论 0 3
  • 第一章 Nginx简介 Nginx是什么 没有听过Nginx?那么一定听过它的“同行”Apache吧!Ngi...
    JokerW阅读 32,418评论 24 1,003
  • I/O模型Nginx介绍Nginx的安装和目录结构Nginx的配置Nginx的编译安装 一、I/O模型 (一)I/...
    哈喽别样阅读 852评论 0 4
  • Nginx简介 解决基于进程模型产生的C10K问题,请求时即使无状态连接如web服务都无法达到并发响应量级一万的现...
    魏镇坪阅读 1,952评论 0 9
  • user nginx nginx ; Nginx用户及组:用户组。window下不指定 worker_proces...
    执著_7a69阅读 598评论 0 1