nginx之文件配置

nginx配置规则

nginx由受配置文件中指定的指令控制的模块组成nginx

伪指令分为简单伪指令和块伪指令正则表达式

简单的指令由名称和参数组成,这些名称和参数之间用空格分隔,并以分号(;)结尾数组

块指令的结构 与 简单指令的结构相同,可是它以分号(而不是分号)结尾,并带有一组用花括号({和})括起来的附加指令服务器

若是块指令能够在括号内包含其余指令,则将其称为上下文(示例:事件,http,服务器和位置)。spa

放置在任何上下文外部的配置文件中的指令都被视为在主上下文中。 事件和http指令位于主上下文中,服务器位于http中,而且位于服务器中。代理

井号(#)后面的全部内容属于注释。code

 

示例

简单指令server

worker_processes  1;
user  nobody;

 

块指令blog

events {
    worker_connections  1024;
}

 

提供静态文件

提供静态文件的含义即:设置查找文件的路径,设置索引文件。索引

示例:

worker_processes  1;

events {
    worker_connections  1024;
}
http { server { location / { root /data/www
; } location /images/ { root /data; } } }

 

 

服务器块讲解以下:

  • server标识一个服务器块,server必须包含在http代码块内;
  • server里面能够配置监听、前缀等参数;
  • location标识匹配的前缀,location匹配有一个原则,最早匹配最长长度;如上例中有两个前缀'/'与'/images/',
  • location前缀代码块中root参数标识匹配的路径;
  • root参数既能够放在server服务器块中,也能够放在location匹配路径中;

 

简单代理

示例:设置简单的站点代理

worker_processes  1;

events {
    worker_connections  1024;
}
http {
    server {
    location / {
       proxy_pass http://localhost:8080;
        }
    location /images/ {
        root /data;
        }
    }

    server {
    listen 8080;
    root /data/up1;
    
    location / {
        }
    }
}

 

服务器块(代理)讲解:

  • 在第一个 server 下的 location 代码中加入 proxy_pass 参数,用来设定反向代理的URL;
  • 默认的server中若是没有listen选项,则表示默认监听80端口,不能够在N个server中含有2个默认的listen;

 

正则表达式

示例:设置一个简单的正则表达式进行文件匹配

worker_processes  1;

events {
    worker_connections  1024;
}
http {
    server {
    location / {
       proxy_pass http://localhost:8080;
        }
    location ~ \.(gif|jpg|png)$ {
        root /data/images;
        }
    }

    server {
    listen 8080;
    root /data/up1;
    
    location / {
        }
    }
}

 

正则表达式讲解:

  • 正则表达式应该以波浪符号(~)开头,波浪符号后面有空格
  • 正则表达式小括号内表示要匹配的名称,若是有多个名称,用管道符(|)进行分隔
  • 正则表达式后面的目录应该用的是反斜杠(\),而不是正斜杠(/)

 

设置FastCGI代理

相关文章
相关标签/搜索