nginx配置规则

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

伪指令分为简单伪指令和块伪指令

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

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

如果块指令可以在括号内包含其他指令,则将其称为上下文(示例:事件,http,服务器和位置)。

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

井号(#)后面的所有内容属于注释。

示例

简单指令

worker_processes  1;
user nobody;

块指令

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  ;

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

服务器块(代理)讲解:

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

正则表达式

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

worker_processes  ;

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

正则表达式讲解:

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

设置FastCGI代理

nginx之文件配置的更多相关文章

  1. Nginx日志文件配置与切割

    Nginx日志的指令主要有两条: log_format,设置日志的格式 access_log,指定日志文件的存放路径.格式和缓存大小 两条指令在Nginx配置文件中的位置可以在http{……..}之间 ...

  2. 虚拟主机ip配置,nginx.conf文件配置及日志文件切割

    今天粗略整理了一下虚拟主机配置,nginx.conf文件的配置,及日志文件的切割,记录如下: nginx虚拟主机配置:1.IP地址配置,2.绑定ip地址和虚拟主机详情:1.ip地址的配置:ifconf ...

  3. nginx路由文件配置

    nginx中文文档 Nginx 的请求处理有多个阶段,比如说rewrite.access.content等等,不同的配置字段属于不同的配置阶段,不同阶段的先后执行顺序不一样,例如rewrite在con ...

  4. nginx.conf文件配置明细详解

    #etnx运行的用户和用户组 user nginx nginx; #工作进程数,建议设置为CPU的总核数 worker_processes ; #全局错误日志定义类型,日志等级从低到高依次为: #de ...

  5. nginx使用手册--nginx.conf文件配置详解

    #运行用户 user nobody; #启动进程,通常设置成和cpu的数量相等 worker_processes 1; #全局错误日志及PID文件 #error_log logs/error.log; ...

  6. nginx编译文件配置(原)

    1.在根目录的opt下创建文件夹software并wget一个nginx包进行解压,/opt/software/,解压后需要对软件包文件进行授权 2.cd到nginx目录输入id nginx 未安装插 ...

  7. nginx字体文件配置

    http://www.doucode.com/nginx-support-font/ ====== nginx location语法 基本语法:location [=|~|~*|^~] /uri/ { ...

  8. 搭建RTSP服务器时nginx的nginx.conf文件配置

    worker_processes 1; events { worker_connections 1024;} http { include mime.types; default_type appli ...

  9. nginx 的基本配置

    安装(mac):关于brew  的问题:http://www.cnblogs.com/adouwt/p/8042201.html brew install nginx  启动: brew servic ...

随机推荐

  1. Math类入门学习

    Math类 Math类包含用于执行基本的数字运算等基本指数.对数.平方根法.三角函数. import java.lang.*; public class TestMath { public stati ...

  2. hadoop中 namenode的持久化

    一.为什么namenode持久化 namenode通过内存存储hdfs集群的元数据(目录结构 文件信息 块对应关系),如果内存出现问题,那么会数据丢失,需要通过持久化,把内存中的数据定期的存储在硬盘中 ...

  3. PAC 代理自动发现简介

    一 简介 1.1 什么是PAC文件 代理自动配置(PAC)文件包含一组用javaScript编码的规则,允许web浏览器确定是将Web流量直接发送到Internet还是通过代理服务器发送        ...

  4. spring cloud Gateway简单使用

    一.引子 2年前有幸使用过一次Spring Cloud (1.5.9),那次用的是ZUUL做网关,没有使用Gateway做网关,一直是个小遗憾.终于在2年后的19年底再次使用Spring Cloud, ...

  5. k8s集群———单master节点2node节点

    #部署node节点 ,将kubelet-bootstrap用户绑定到系统集群角色中(颁发证书的最小权限) kubectl create clusterrolebinding kubelet-boots ...

  6. $Poj1952\ $洛谷$1687\ Buy\ Low,Buy\ Lower$ 线性$DP+$方案计数

    Luogu Description 求一个长度为n的序列a的最长下降子序列的长度,以及这个长度的子序列种数,注意相同的几个子序列只能算作一个子序列. n<=5000,a[i]不超过long范围 ...

  7. MicroPython TPYBoard v702实现HTTP应用功能

    [Micropython]TPYBoard v702 HTTP应用功能 转载请注明文章来源,更多教程可自助参考docs.tpyboard.com,QQ技术交流群:157816561,公众号:Micro ...

  8. 关于MySQL幻读的实验

    该实验基于 CentOS 7 + MySQL 5.7 进行 打开两个窗口连接到MySQL 第一个连接的事务我们命名为  T1 第二个连接的事务我们命名为 T2 T2 发生在 T1 的 O1 操作结束以 ...

  9. electron-vue 设置cookie

    //设置登录cookie setCookie(name,value){ var Days=30; var exp=new Date(); var date=Math.round(exp.getTime ...

  10. Python CGI apache在windows下安装

    1.首先去下载apache (http://httpd.apache.org/download.cgi)(Apache VC15 binaries and modules download) 2.下载 ...