导航:首页 > 文件管理 > nginx配置文件夹

nginx配置文件夹

发布时间:2023-03-22 16:11:35

① 初识Nginx配置文件以及基本命令

配置文件名为 nginx.conf ,Linux放在目录: /usr/local/nginx/conf 、 /etc/nginx , 或 /usr/local/etc/nginx 中;Windows放在 安装目录conf 中。 依据实际安装情况决定

nginx由配置文件中指定的指令控制模块组成。 指令分为 简单指令 块指令
简单指令 由空格分隔的名称和参数组成,并以分号 ; 结尾;
块指令 具有与简单指令相同的结构,但是是以大括号 { 和 } 包围的一组附加指令。 如果块指令在大括号内部有其他指令,则称为上下文(例如: events , http , server 和 location );
配置文件中放置在任何上下文之外的伪指令都被认为是主上下文。 events 和 http 指令驻留在主上下文中, server 在 http 中的,而 location 在 server 块中。一个配置文件一个 http ,一个及以上个 server ,一个 server 运行一个工作进程并代表一个虚拟服务器;
# 号所在的一行被视为注释;
几个顶级指令将适用于不同流量类型的指令组合在一起:

对于大多数指令,在子上下文中定义的上下文将继承父级中包含的伪指令的值,要覆盖从父进程继承的值,子上下文中需要包含该指令(即子上下文要显式声明)。

打开配置文件(如 /usr/local/nginx/conf/nginx.conf ),默认的配置文件已经包含了服务器块的几个示例,大部分是注释掉的。 现在注释掉所有这样的块,并启动一个新的服务器块:

每个 server 上下文都可以指定要监听的端口、server_name,当nginx决定哪个服务器处理请求后,它会根据服务器块内部定义的location指令的参数测试请求头中指定的URI, 比如如下配置,系统中创建 /data 目录及其子目录 /www :

第一个 location 块指定与请求中的URI比较 / 前缀。 对于匹配请求,URI将被添加到 root 指令中指定的路径(即 /data/www ),形成本地文件系统中的请求文件路径。 如果有几个匹配的location块,nginx将选择具有最长前缀来匹配location块。 上面第一个 location 块提供最短的前缀长度为1,因此只有当所有其他location块不能提供匹配时,才会使用该块。第二个 location ,将是以 /images/ 的请求来匹配,位置 / 也匹配这样的请求,但具有较短前缀,也就是 /images/ 比 / 长。

这已经是一个在标准端口 80 上侦听并且可以在本地机器上访问的服务器 http://localhost/ 的工作配置, 端口 80 和 server_name localhost 可以省略,它们为默认值 。 响应以/images/开头的URI的请求,服务器将从 /data/images 目录发送文件。 例如,响应 http://localhost/images/logo.png 请求,nginx将发送服务上的 /data/images/logo.png 文件。 如果文件不存在,nginx将发送一个指示 404 错误的响应。 不以 /images/ 开头的URI的请求将映射到 /data/www 目录。 例如,响应 http://localhost/about/example.html 请求时,nginx将发送 /data/www/about/example.html 文件。

反向代理应该是Nginx做的最多的一件事了,反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。简单来说就是真实的服务器不能直接被外部网络访问,所以需要一台代理服务器,而代理服务器能被外部网络访问的同时又跟真实服务器在同一个网络环境,当然也可能是同一台服务器,端口不同而已。
通过向nginx配置文件添加一个server块来定义代理服务器,其中包含以下内容:

这将是一个监听端口 8080 的简单服务器,并将所有请求映射到本地文件系统上的 /data/up1 目录。 请注意,root指令位于server块上下文中,当选择用于服务请求的 location 块不包含自己的 root 指令时,将使用此root指令。创建 /data/up1 目录然后可以将一个静态网页比如 index.html 文件放入其中,然后访问 http://localhost:8080/ 即可访问该文件。
目前为止,还是配置的静态资源访问,并不是代理服务器,然后增加或修改现有 location 上下文,改为如下:

当用户访问 http://localhost:8080/ 时,会返回 http://localhost:8181 服务器的的资源。
location 上下文后面的参数,可以是正则表达式,如果是正则表达式,前面要加 ~ ,比如:

以上配置表示,nginx接收到所有以.gif,.jpg或.png结尾的URI,相应的请求将映射到/data/images目录。当nginx选择一个location块来提供请求时,它首先检查指定前缀的location指令,记住具有最长前缀的location,然后检查正则表达式。 如果与正则表达式匹配,nginx会选择此location,否则选择之前记住的那一个。

要找到最符合URI的位置,NGINX首先将URI与前缀字符串的位置进行比较。然后用正则表达式搜索位置。除非使用^~修饰符对正则表达式给予更高的优先级。在前缀字符串中,NGINX选择最具体的字符串(也就是最长和最完整的字符串)。 下面给出了选择处理请求的位置的确切逻辑:

测试所有URI的前缀字符串。 = (等号)修饰符定义了URI和前缀字符串完全匹配。如果找到完全匹配,则搜索停止。如果 ^~ (插入符号)修饰符预先添加最长匹配前缀字符串,则不会检查正则表达式。存储最长匹配的前缀字符串。根据正则表达式测试URI。断开第一个匹配的正则表达式并使用相应的位置。如果没有正则表达式匹配,则使用与存储的前缀字符串相对应的位置。

= 修饰符的典型用例是 / (正斜杠)的请求。 如果请求/是频繁的,则指定 = / 作为location指令的参数加速处理,因为搜索匹配在第一次比较之后停止。

要启动nginx,请运行可执行文件。 当nginx启动后,可以通过使用-s参数调用可执行文件来控制它。 使用以下语法:

信号(signal)的值可能是以下之一:

当主进程收到要重新加载配置的信号,它将检查新配置文件的语法有效性,并尝试应用其中提供的配置。 如果这是成功的,主进程将启动新的工作进程,并向旧的工作进程发送消息,请求它们关闭。 否则,主进程回滚更改,并继续使用旧配置。 老工作进程,接收关闭命令,停止接受新连接,并继续维护当前请求,直到所有这些请求得到维护。 之后,旧的工作进程退出。

两者在 location 中,指定一个路径,其中使用 alias 做如下配置:

若按照上述配置的话,则访问/img/目录里面的文件时,ningx会自动去/var/www/image/目录找文件

若按照这种配置的话,则访问/img/目录下的文件时,nginx会去/var/www/image/img/目录下找文件。alias是一个目录别名的定义,root则是最上层目录的定义,指的是 /var/www/image/img/ 。还有一个重要的区别是alias后面必须要 / 结束,否则会找不到文件,而root则可有可无。

另外对于index,含义如下

这样,当用户请求 / 地址时,Nginx 就会自动在 root 配置指令指定的文件系统目录下依次寻找 index.htm 和 index.html 这两个文件。如果 index.htm 文件存在,则直接发起“内部跳转”到 /index.htm 这个新的地址;而如果 index.htm 文件不存在,则继续检查 index.html 是否存在。如果存在,同样发起“内部跳转”到 /index.html ;如果 index.html 文件仍然不存在,则放弃处理权给 content 阶段的下一个模块。

参考地址1
参考地址2:B站

② Nginx 配置文件

参考资料1
参考资料2
参考资料3

主配置文件 /etc/nginx/nginx.conf 。

配置文件中的 path,既可以是绝对路径也可以是相对路径,相对路径相对 /usr/share/nginx 目录。

通过 default_server 参数,指定当前 server 为对应 IP:PORT 对的默认服务器。当一个请求匹配到 IP:PORT,但是 Host 字段不匹配任何一个 server_name,则应用默认服务器 server。假设 http://www.lishiqing.com 请源轮仔求的 IP:PORT 为 192.168.100.104:80,但是没有对应的 server_name 匹配 www.lishiqing.com ,则应用默认服务器。

如果没有一个 listen 指令具有 default_server 参数,则具有 IP:PORT 对的第一个 server 将是该 IP:PORT 对的默认服务器。

以下配置忽略 server_name,所有指向 192.168.100.105 的域名都能应用该 server

以下配置访问 lishiqing.com 应用默认 server,也就是第一个 server

参考资料

location 指令可以跟字符串,也可以跟正则表达式

location string_path {} 区分大小写的字符串
location = string_path {} 严格匹配字符串
location ~ reg_path {} 区分大小写的正则表达式
location ~* reg_path {} 不区分大小写的正则表达式

http://lishiqing.com/shop/images/1.png 这个请求的 query 为 /shop/images/1.png 。

当 location 后面是字符串的时候,如果某个请求的 query 以该字符串开头,则匹配该 location,比如 /shop/images/1.png 的请求匹配 location /shop {} ,也匹配 location / {} ,但是不匹配 location /blog 。

当 location 后面是正则表达式的时候,如果某个请求的 query 匹配该正则表达式,则匹配该 location,比如 /shop/images/1.png 的请求匹配 location ~ \.(jpg|jpeg|png)$ {} 。

如果某个 query 匹配多个字符串的 location,那么应用匹配度最高的一个 location,与 location 的顺序无关。比如 /shop/images/1.png 的请求匹配 location / {} 和 location /shop {} ,但是应用 location /shop {} 。

如果某个 query 匹配多个正则表达式的 location,那么按照 location 的顺序应用第一个匹配的 location。比如雹汪 /shop/images/1.png 的请求匹配 location ~ \.(jpg|jpeg|png)$ {} 和 location ~ .*/images/.* {} ,但是应用第一个匹配的 location ~ \.(jpg|jpeg|png)$ {} 。因为在 query 在检查正则表达式的时候,遇见第一匹配的 location 就停止继续查找了。

如果某个 query 既匹配某个字符串的 location,又匹配某个正则表达式的 location,那么应用正则表达式的 location,与顺序无关。比如 /shop/images/1.png 的请求匹配 location /shop {} 和 location ~ \.(jpg|jpeg|png)$ {} ,但是会应用 location ~ \.(jpg|jpeg|png)$ {} 。这是因为某个请求会先检查跟着字符串的 location,不管是桐行否找到匹配的字符串 location,都会继续按照顺序查找跟着正则表达式 location,因此正则表达式的优先级高于字符串。如果找到了匹配的正则表达式,则立即停止查找,应用该 location,如果没找到匹配的正则表达式,则应用刚才找到的匹配度最高的字符串 location。

location = string_path {} 为严格匹配,query 必须与 string_path 完全一致才能匹配。如果 query 与某个 = string_path 匹配,则立即停止查找,应用该 location。意味着不会去查找正则表达式 location。比如 /shop/images/1.png 匹配 location = /shop/images/1.png {} ,不匹配 location = /shop {} 和 location = /shop/images 。一般用来设置 location = / {} 来匹配 / 的 query,因为 / 的 query 会很频繁,因此将 location = / {} 放在第一条 location 可以提高匹配查询的效率。

location ^~ string_path {} 这种字符串匹配的优先级高于正则表达式,当某个 query 匹配该 location 的时候,不会继续查找正则表达式的 location 了。比如 /shop/images/1.png 的 query 满足 location ^~ /shop {} 和 location ~ \.(jpg|jpeg|png)$ {} ,但是会应用 location ^~ /shop {} 。

总结:

③ 不容错过的Nginx配置详解,一文带你搞懂Nginx

Nginx是一个高性能的HTTP和反向代理服务器,特点是占用内存少,并发能力强,事实上Nginx的并发能力确实在同类型的网页服务器中表现好。Nginx专为性能优化而开发,性能是其最重要的考量,实现上非常注重效率,能经受高负载的考验,有报告表明能支持高达50000个并发连接数。

需要客户自己在浏览器配置代理服务器地址。

例如:在大陆访问www.google.com,我们需要一个代理服务器,我们通过代理服务器去访问谷歌,这个过程就是正向代理。

反向代理,客户端对代理是无感知的,因为客户端不需要任何配置就可以访问,我们只需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,在返回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器IP地址。

单个服务器解决不了,我们增加服务器的数量,然后将请求分发到各个服务器上,将原先请求集中到单个服务器上的情况改为将请求分发到多个服务器上,将负载分发到不同的服务器,也就是我们说的负载均衡。

为了加快网站的解析速度,可以把动态页面和静态页面由不同的服务器来解析,加快解析速度。降低原来单个服务器的压力。

进入到下面的目录,然后使用命令

配置文件所在位置:/usr/local/nginx/conf/nginx.conf

由全局块+events块+http块组成

从配置文件开始到events之间的内容,主要会设置一些影响Nginx服务器整体运行的配置指令,主要包括配置运行Nginx服务器的用户(组)、允许生成的worker process数,进程pid存放路径、日志存放路径和类型以及配置文件的引入等。

events块设计的指令主要影响Nginx服务器与用户的网络连接,常用的设置包括是否开启对多work process下的网络连接进行序列化,是否允许同时接收多个网络连接,选取哪种事件驱动模型来处理连接请求,每个work process可以同时支持的最大连接数等。下面的例子表示每个work process支持的最大连接数为1024。这部分配置对Nginx的性能影响较大,在实际中应该灵活配置。

Nginx服务器配置中最频繁的部分,代理、缓存和日志定义等绝大多数功能和第三方模块的配置都在这里,http块又包括http全局块和server块。

http全局块配置的指令包括文件引入、MIME-TYPE定义、日志自定义、连接超时时间、单链接请求数上限等。

这块和虚拟主机有密切关系,虚拟主机从用户角度看,和一台独立的硬件主机是完全一样的,该技术的产生是为了节省互联网服务器硬件成本。

每个http块可以包括多个server块,而每个server块就相当于一个虚拟主机。

每个server块也可以分为全局server块,以及可以同时包含多个location块。

最常见的配置时本虚拟主机的监听配置和本虚拟主机的名称或IP配置。

一个server块可以配置多个location块。

这块的主要作用是基于Nginx服务器接收到的请求字符串(例如server_name/uri-string),对虚拟主机名称(也可以是IP别名)之外的字符串(例如前面的/uri-string)进行匹配,对特定的请求进行处理。地址定向、数据缓存和应答控制等功能,还有许多第三方模块的配置也在这里进行。

访问http://ip,访问到的是Tomcat的主页面http://ip:8080。

Nginx+JDK8+Tomcat

访问:http://192.168.71.167/,看到的是Tomcat的首页。

根据访问的路径跳转到不同的服务器中去。

访问http://ip:9001/e 直接跳到http://127.0.0.1:8080/e

访问http://ip:9001/vod 直接跳到http://127.0.0.1:9090/vod

Nginx+JDK8+配置两个Tomcat,Tomcat的配置不再讲述。

访问http://192.168.71.167:9001/e/a.html跳到了http://127.0.0.1:8080/e/a.html页面。

访问http://192.168.71.167:9001/vod/a.html跳到了http://127.0.0.1:9090/vod/a.html页面。

假如Nginx代理服务器Server的配置为:192.168.71.167:9001,跳到:127.0.0.1:8080,访问者的IP为:192.168.71.200:20604。

通过访问http://192.168.71.167/e/a.html,实现负载均衡的效果,平均分摊到8080和8081端口中。

Nginx+JDK8+2台Tomcat,一台8080,一台8081。

访问:http://192.168.71.167/e/a.html,8080和8081交替访问。

1 轮询(默认)

每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。

2 weight

weight代表权重,默认为1,权重越高被分配的客户端越多。

指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。

3 ip_hash

每个请求按访问IP的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题,示例如下:

4 fair(第三方)

按后端服务器的响应时间来分配请求,响应时间短的优先分配。

访问图片:http://192.168.71.167/image/1.jpg

访问页面:http://192.168.71.167/www/a.html

访问目录:http://192.168.71.167/image/(因为设置了autoindex on;)

两台机器,每台机器都装有keepalived+Nginx+Tomcat。

主备keepalived服务器中只有master一台机器会出现VIP地址,否则会出现脑裂问题。

【提示】脚本要加+x的执行权限:chmod +x chk_nginx.sh

在Nginx里把虚拟IP配置进去即可。

一个Nginx是由一个master进程和多个worker进程组成的。

客户端发送请求到Master,然后给worker,再由这些work争抢处理这个请求。

1 可以使用nginx -s reload进行热部署方式;

2 每个worker是独立的进程,如果有其中的一个worker出现了问题,其他worker独立的继续进行争抢,实现请求的过程,不会造成服务的中断;

Nginx和Redis类似,都采用了io多路复用机制。每个worker进程都可以把CPU发挥到极致,一般来说worker数和服务器的CPU数相等是最为适宜的。

发送请求:访问静态资源占用2个连接,反向代理占用4个连接。

【温馨提示】

④ Nginx配置文件详解

说到该指令 ,首先得阐述一下什么是所谓的 “惊群问题”,可以参考 WIKI网络的解释。就Nginx的场景来解释的话大致的意思就是:当一个新网络连接来到时,多个worker进程会被同时唤醒,但仅仅只有一个进程可以真正获得连接并处理之。如果每次唤醒的进程数目过多的话,其实是会影响一部分性能的。

所以在这里,如果accept_mutex on,那么多个worker将是以串行方式来处理,其中有一个worker会被唤醒;反之若accept_mutex off,那么所有的worker都会被唤醒,不过只有一个worker能获取新连接,其它的worker会重新进入休眠状态。

用rewrite转发的话,url会发生变化的,那就用proxy_pass吧,于是添加了如下的配置:

在现有环境的nginx里添加这段配置之后,访问却始终转不过去,查看nginx日志也只能看到是404信息,并没有更多定位问题的信息。检查了许久也没找到原因,于是重新装了一台新nginx,里面只加上面这段配置,结果nginx是能够转发成功的,这说明单独来看这条location的配置是没有问题的,很有可能是现有环境nginx里的某些配置影响到了这个转发。

为了定位问题原因,我将aaa.example.com虚拟主机下的其他配置注意注释掉来调试,最后发现当注释掉proxy_set_header Host $http_host ;这条配置之后,就能成功转发了。这才注意到是反向代理配置的问题。现有环境中原有的配置也不能随便删掉,上网查了下原因,找到下面这种解决方案:

即,在location里面添加一条proxy_set_header Host http_host时,则不改变请求头的值,所以当要转发到bbb.example.com的时候,请求头还是aaa.example.com的Host信息,就会有问题;当Host设置为$proxy_host时,则会重新设置请求头为bbb.example.com的Host信息。

另外,关于proxy_pass转发url的参数,可以通过在location中用rewrite来做,所以完善后的配置如下:

在location用rewrite改变了URI之后,proxy_pass将使用改变后的URI。上面例子(.*)是将所有参数传给 1会拼接在 http://bbb.example.com 后面。

先来看下proxy_set_header的语法

允许重新定义或者添加发往后端服务器的请求头。value可以包含文本、变量或者它们的组合。 当且仅当当前配置级别中没有定义proxy_set_header指令时,会从上面的级别继承配置。 默认情况下,只有两个请求头会被重新定义:

当匹配到/customer/straightcustomer/download时,使用crmtest处理,到upstream就匹配到crmtest.aty.sohuno.com,这里直接转换成IP进行转发了。假如crmtest.aty.sohuno.com是在另一台nginx下配置的,ip为10.22.10.116,则$proxy_host则对应为10.22.10.116。此时相当于设置了Host为10.22.10.116。如果想让Host是crmtest.aty.sohuno.com,则进行如下设置:

如果不想改变请求头“Host”的值,可以这样来设置:

但是,如果客户端请求头中没有携带这个头部,那么传递到后端服务器的请求也不含这个头部。 这种情况下,更好的方式是使用$host变量——它的值在请求包含“Host”请求头时为“Host”字段的值,在请求未携带“Host”请求头时为虚拟主机的主域名:

此外,服务器名可以和后端服务器的端口一起传送:

如果某个请求头的值为空,那么这个请求头将不会传送给后端服务器:

nginx配置项,里面的配置项有代理https,http,代理静态文件,H5分发,代理TCP连接,能满足大多数搭建测试环境所要用的nginx的情况,大家碰到要使用nginx的时候可以参考下

⑤ nginx不放在html文件夹,怎么配置

1、修改配置文件,判断卜念是否用域名访问。
2、修改配置文件,配置2个server,一个配置域名,一宽弊顷个处理不使用域名时的结果。
3、浏览器或者系统访问网页都会有自己的一套缓存慎陆机制,这样nginx就可以不放在html文件夹里了。

⑥ 5,nginx 多域名,配置多个conf 文件

nginx下配置多域名,目前的配置方法采用多个配置文件的方法比较多

1,在nginx安装的目录下找到, nginx.conf文件
如我的: C:\Program Files\nginx-1.15.5\conf 目录下

2,在该目录下创建的文件夹,如 vhost 文件夹
C:\Program Files\nginx-1.15.5\conf\vhost

3,在vhost 文件夹下创建 *.conf 文件 如host.conf
C:\Program Files\nginx-1.15.5\conf\vhost\host.conf

4,编辑conf文件,把我们平常放在nginx.conf里的server{......}段直接粘贴到conf里。
如:

5,最后在nginx.conf的http{....}段中加入
include vhost/*.conf;

6,如果有其他的conf文件要添加直接在 按照步骤三操作即可

⑦ [后端]nginx配置文件详解

一个典型的nginx配置文件是由一系列的server块组成。而每个server块是有一系列的location块组成。server块是nginx从逻辑上划分出来的一个个的虚拟服务器,可以从逻辑上认为你的服务器变成多个了。block块定义了一个url路径该如何定位到正式的文件。总体来说,nginx处理一个请求的时候,先根据(ip地址,port端口,domain域名)来确定下由哪一个server块来进行处理,然后server块再根据请求的地址来进行location块的挑选,location块内部的规则最终确定下这个请求怎么返回(直接返回文件内容,还是映射成其他请求,还是传给其他服务执行)。

如果我们访问链接 http://lab.example.com:80/cs/image.jpg 那么就会由第一个server的第二个location来处理。流程是什么样的呢:

这样就完成了一个完整的链接请求。

server块最重要的两个属性是listen和server_name。当请求来临时,listen属性先用来匹配,如果匹配到唯一server块那么就是这个server块进行服务(就不用考虑server_name是否匹配上了);如果匹配不是唯一的,那么就继续使用server_name进行匹配。

当两个表达带通配符的形式相同的时候,匹配最长的那个。

语法中的optional_modifier是描述符,location_match是具体匹配的串形式,如果描述符是正则的一种,那么就会以正则的方式来对待location_match,否则以普通方式用location_match来当前缀匹配。

|类型|含义|匹配方式|优先级|例子|
|:--|:--|:--|:--|
|(none)|最普通的前缀匹配|前缀方式匹配|4|location / {}|
|=|要求绝对相等|前缀方式匹配|1|location = /image {}|
|~|区分大小写的正则匹配|正则方式匹配|3|location ~ .(jpe?g)$ {}|
|~ |不区分大小写的正则匹配|正则方式匹配|3|location ~ .(jpe?g)$ {}|
|^~|高优先级的前缀匹配|前缀方式匹配|2|location ^~ /page {}|

如果我们要匹配\big\middle\small的话,是不会匹配到 location ^~ \big\middle {...} 这条规则的,因为当=规则匹配结束没找到之后,就回去找(none)和^~中匹配最长的一条,这时候最长的是(none)的 location \big\middle\small {...} ,然后在进行正则匹配,发现没有满足的,于是就取(none)的这一条了。这一点要注意。

在上述步骤后,我们知道一个请求具体定位到location的过程,现在来继续探究location之后的相应处理。首先是location中的资源应该对应在哪一个服务器目录中呢?这就需要root属性来指定了。
root属性可以定义在server块中,也可以定义在location块中。如果声明在server块中那么所有的location都会继承这个定义。同时若location中也定义了root属性,那么以location中的定义为主。
举个例子

如果访问/cs/vr/audio.mp3,那么就会对应到服务器上的/share/usr/cs/vr/audio.mp3的资源
如果访问/eg/file/new.pdf,那么就会对应到服务器上的/var/www/html/eg/file/new.pdf的资源

再比如用nginx上架设codeigniter框架,我们需要重写url那么我们这样

那么这样,对于一个非.php的文件,都为在第一个location中重写成/index.php?$uri的形式重写进行一次搜索。这时候必然被第二个location接收(前缀匹配的更长嘛),这样就完成了codeigniter的定位。
比如我们访问 ci.example.com/hello 就会被重定向到访问var/www/example/index.php?hello同时被pass给php的cgi进行处理。

Understanding Nginx Server and Location Block Selection Algorithms
how-to-configure-nginx

⑧ nginx conf.d目录下的文件怎么配置

(1)定义环境变量

语法:env VAR|VAR=VALUE

这个配置项可以让用户直接设置操作系统上的环境变量。例如:

1. env TESTPATH=/tmp/;

(2)嵌入其他配置文件

语法:include /path/file;

include配置项可以将其他配置文件嵌入到当前的nginx.conf文件中,它的参数既可以是绝对路径,也可以是相对路径(相对于Nginx的配置目录,即nginx.conf所在的目录),例如:

1. include mime.types;

2. include vhost/*.conf;

可以看到,参数的值可以是一个明确的文件名,也可以是含有通配符*的文件名,同时可以一次嵌入多个配置文件。

(3)pid文件的路径

语法:pid path/file;

默认:pid logs/nginx.pid;

保存master进程ID的pid文件存放路径。默认与configure执行时的参数“--pid-path”所指定的路径是相同的,也可以随时修改,但应确保Nginx有权在相应的目标中创建pid文件,该文件直接影响Nginx是否可以运行。

(4)Nginx worker进程运行的用户及用户组

语法:user username [groupname];

默认:user nobody nobody;

user用于设置master进程启动后,fork出的worker进程运行在哪个用户和用户组下。当按照“user username;”设置时,用户组名与用户名相同。

若用户在configure命令执行时使用了参数--user=username和--group=groupname,此时nginx.conf将使用参数中指定的用户和用户组。

(5)指定Nginx worker进程可以打开的最大句柄描述符个数

语法:worker_rlimit_nofile limit;

设置一个worker进程可以打开的最大文件句柄数。

(6)限制信号队列

语法:worker_rlimit_sigpending limit;

设置每个用户发往Nginx的信号队列的大小。也就是说,当某个用户的信号队列满了,这个用户再发送的信号量会被丢掉。

阅读全文

与nginx配置文件夹相关的资料

热点内容
maya粒子表达式教程 浏览:84
抖音小视频如何挂app 浏览:283
cad怎么设置替补文件 浏览:790
win10启动文件是空的 浏览:397
jk网站有哪些 浏览:134
学编程和3d哪个更好 浏览:932
win10移动硬盘文件无法打开 浏览:385
文件名是乱码还删不掉 浏览:643
苹果键盘怎么打开任务管理器 浏览:437
手机桌面文件名字大全 浏览:334
tplink默认无线密码是多少 浏览:33
ipaddgm文件 浏览:99
lua语言编程用哪个平台 浏览:272
政采云如何导出pdf投标文件 浏览:529
php获取postjson数据 浏览:551
javatimetask 浏览:16
编程的话要什么证件 浏览:94
钱脉通微信多开 浏览:878
中学生学编程哪个培训机构好 浏览:852
荣耀路由TV设置文件共享错误 浏览:525

友情链接