了解Nginx配置文件结构与配置上下文

一文搞懂 Nginx 一文搞懂 Nginx。 阅读详情

提供:ZStack云计算

系列教程

本教程为如何在Ubuntu 14.04上实现Nginx与LEMP系列四篇中的第四篇。

内容介绍

Nginx是一套高性能Web服务器,负责处理互联网上各大型站点的日常负载。其特别擅长处理高并发连接与大量静态内容。

尽管很多用户都对Nginx的功能有所了解,但也有不少朋友还不熟悉Nginx配置文件的使用方法。在本教程中,我们将探讨Nginx配置文件的基本结构,并提供相关指导帮助大家设计出自己的文件。

了解Nginx配置上下文

本教程将涵盖主Nginx配置文件内的各基本结构。此文件的具体位置取决于该软件的安装位置。对于大多数发行版,该文件位于/etc/nginx/nginx.conf。如果在这里找不到,其也可能存在于/usr/local/nginx/conf/nginx.conf或者/usr/local/etc/nginx/nginx.conf处。

首先需要注意的是,主配置文件的组织方式采用树状结构,由大括号进行分组定义。在Nginx当中,这些大括号限定的区域被称为“上下文(conexts)”,因为其中容纳着相关配置细节。基本上,这些区域负责提供组织化结构与状态化,用于决定是否应用其中包含的配置。

由于各上下文可分层包含,因此Nginx提供一种继承层级。作为一般性规则,如果某条指令在多个嵌套范围内有效,则广泛上下文中的声明将以默认值的形式被传递至任意子上下文。各子上下文可随意覆盖这些值。需要强调的是,任何指向数组类指令的覆盖都会替换原有值,而非作为附加值存在。

指令只能作用于其设计所面向的对应上下文区域内。Nginx会将超出指定上下文的指令视为错误。Nginx说明文档 就提到了各指令适用的上下文,因此推荐大家认真阅读。

下面,我们将探讨在使用Nginx时最为常用的各上下文。

Core上下文

首先要说的是core上下文,Nginx利用其创建继承树并拆分各离散配置块。这类上下文构成了Nginx配置的主体结构。

Main上下文

最为常见的则是main或者global上下文。这是惟一一种不会被包含在常见上下文块内的上下文,具体如下:

# main上下文不可被任何其它上下文所包含

. . .

context {

. . .

}

任何存在于这些块之外的指令都被称为main上下文。请注意,如果大家的Nginx配置采用现代设计风格,那么部分文件将包含存在于大括号上下文区域外的指令,但在进行配置整合时其仍会被作为区域内指令使用。

Main上下文代表Nginx配置的宏观环境。其作用在于配置各项在基础层面对应用整体发生影响的细节。其中部分指令会影响到层级更低的上下文,但也有相当一部分不会得到继承——因为其无法在低层级中进行覆盖。

另外,我们还需要在main上下文中配置工作进程运行所立足的用户及组、工作进程数量以及保存主进程PID的文件。大家甚至可以定义更为细化的项目,例如工作程序的CPU优先级与工作进程“亲和力”应用整体的默认错误文件可在此层级进行设置(可被更多特定上下文所覆盖)。

Events上下文

Events上下文被包含在main上下文当中。其用于设定全局选项,从而影响Nginx在一般层面处理连接的具体方式。每套Nginx配置中只能包含一条events上下文。

以下为配置中的events上下文部分,其不归属于任何大括号限定的上下文:

# main context

events {

# events context
. . .

}

Nginx使用基于事件的连接处理模式,因此此上下文中定义的指令会检测工作进程应当如何处理连接。一般来讲,这里的指令要么负责选定需要使用的连接处理技术,要么修改这些方法的具体实现方式。

通常情况下,连接处理方法会根据当前平台上的可用项目进行自动选定。在Linux系统中,epoll方法通常是最佳选择。

其它可以配置的项目还包括每个工作程序所能处理的连接数量、某一工作程序同时只能处理一条连接抑或得到通知后处理全部未完成连接,以及工作程序是否轮流对事件做出响应等等。

HTTP上下文

在将Nginx配置为Web服务器或者反向代理时,http上下文将负责完成配置主体。此上下文将容纳定义程序如何处理HTTP或者HTTPS连接所必需的全部指令及其它上下文。

Http上下文可以说是events上下文的表亲,因此二者可以并排列出而非相互嵌套。二者皆属于main上下文的子上下文:

# main context

events {
# events context

. . .

}

http {
# main context

. . .

}

虽然低级上下文负责更为具体地指定请求处理方式,但这一级别上的指令却可以控制每套虚拟服务器的内部默认定义。有相当一部分指令被配置于此上下文及更低层级,具体取决于其功能的继承定位。

部分指令可用于控制默认的访问与错误日志位置(access_log与error_log)、为文件操作配置同步I/O(aio, sendfile与directio)、配置服务器发生错误时的状态(error_page)等。其它指令则可配置压缩(gzip与gzip_disable)、调整TCP保持运行设置(keepalive_disable,keepalive_requests与eepalive_timeout)并指定Nginx需要遵循的数据包与系统调用优化方式(sendfile, tcp_nodelay与tcp_nopush)。也有部分指令配置应用级文件root与目录文件(root与index),以及设置多种用于存储不同数据类型的hash表(*_hash_bucket_size与*_hash_max_size负责指定服务器名称、类型与变量)。

Server上下文

Server上下文在http上下文内进行声明。这是我们介绍的第一种被限定在大括号之内的嵌套型上下文。其同时也是第一种允许进行多项声明的上下文。

Server上下文的格式一般如下所示,注意其包含在http上下文当中:

# main context

http: {

# http context

server {

    # first server context

}

server {

    # second server context

}

}

之所以允许server上下文进行多项声明,是因为每个实例都会定义一套特定虚拟服务器以处理客户端请求。大家可以根据需要设置多个server块,其各自处理不同的连接子集。

为了实现多server块,server上下文类型也是Nginx必须采用的选定算法。每条客户端请求都会根据单一server上下文中的定义配置进行处理,这样Nginx才能决定使用哪种server上下文更为合适。负责决定具体使用哪套server块的指令用于应答以下请求:

  • listen: 此server块负责响应的IP地址/端口。如果某条客户端请求符合这些值,则该块可能会被选定用于处理该连接。
  • server_name:此指令同样负责选定处理连接的server块。如果存在多个server块共同监听同一特定指令,那么Nginx会解析该请求的“Host”标题头并将其与此指令相匹配。

这些指令可覆盖多数于http上下文中定义的指令,包括logging、document root以及compression等等。另外,这些指令提取自http上下文,因此我们也可以配置文件以响应各项请求(try_files)、提交重新定向与重新写入(return与rewrite)以及设定任意变量(set)。

Location上下文

下面要说的是location上下文。Location上下文与server上下文拥有许多共性。例如,我们同样可以定义多条location上下文,且每条location用于处理特定类型的客户端请求,并通过选择算法将location指定至特定客户端请求。

尽管负责选定server块的指令由server上下文进行定义,但location中的组件则能够处理被指定在其定义位置的请求。

其常规语法如下:

location match_modifierlocation_match {

. . .

}

Location块位于server上下文之内,但与server块不同,其可彼此进行嵌套。我们可以借此创建更为通用的location上下文,从而捕捉特定流量子集,而后根据更为具体的其它上下文定义加以处理:

# main context

server {

# server context

location /match/criteria {

    # first location context

}

location /other/criteria {

    # second location context

    location nested_match {

        # first nested location

    }

    location other_nested {

        # second nested location

    }

}

}

尽管server上下文根据IP地址/端口请求与“Host”标题头下的主机名称进行选定,但location块会进一步查看请求URI,从而在server块内进行深层处理。请求URI属于该请求的一部分,位于域名或者IP地址/端口部分之后。

因此如果某客户端在端口80上请求http://www.example.com/blog,那么http、www.example.com以及端口80都将被用于进行server块选定。在选定服务器后,/blog部分(即请求URI)将用于同定义位置进行评估,旨在使用哪种上下文作为请求的下一步响应依据。

Location上下文中的其它很多指令也都可用于该父层级。此层级中的新指令允许大家前往document root之外(即别名)、将该位置标记为内部访问(internal)以及代理至其它服务器或者位置)使用http、fastcgi、scgi以及uwsgi代理)。

其它上下文

尽管以上示例已经说明了Nginx中的基本场景,但仍存在着其它一些上下文供我们使用。以下上下文之所以被独立拿出来讨论,是因为它们更多属于可选模块,且只用于特定情况或者大多数用户很少接触。

在这里,我们不会探讨全部可用上下文。以下上下文也仅仅是稍加提及,不会深入说明:

-split_clients: 用于将服务器接收到的客户端进行分类,具体为利用变量按照百分比进行客户端标记。其随后可用于为不同主机提供差别内容,从而实现A/B测试。
-perl / perl_set: 用于为其出现的位置配置Perl处理程序。只限于Perl处理情况。
-map: 用于根据其它变量的值为当前某变量赋值。其为单一变量值提供映射,从而检测下一变量应如何设置。
-geo: 用于指定映射。不过,此映射专门用于分类客户端IP地址。其根据连接IP地址为变量赋值。
-types: 同样用于映射。此上下文用于将MIME类型映射至与之关联的文件扩展。如此一来,Nginx就能够通过该文件溯源至主nginx.conf配置文件。
-charset_map:另一映射类上下文,用于将转换表从某一字符集映射至另一字符集。在该上下文报头中,这两个字符集皆被列出以实现映射转移。

这些上下文的使用频率都比较低,因此这里只是稍加提及。

Upstream上下文

Upstream上下文用于定义及配置上游服务器。基本上,该上下文定义一套经过命名的服务器池,Nginx随后可将请求代理至其中。此上下文可能会在配置多种类型的代理时被用到。

Upstream上下文应被放置在http上下文内,且存在于任意特定server上下文之外。其一般格式如下:

# main context

http {

# http context

upstream upstream_name {

    # upstream context

    server proxy_server1;
    server proxy_server2;

    . . .

}

server {

    # server context

}

}

Upstream上下文随后可在server或者location块中按名称引用,从而向服务器池传递特定类型的请求。另外,它还使用一套算法(默认为round-robin)检测哪套特定服务器处理该请求。此上下文能够帮助Nginx在进行请求代理时实现负载均衡。

Mail上下文

尽管Nginx的主要作用是充当Web或者反向代理服务器,但其也可以作为高性能邮件代理服务器。此上下文用于mail类型的各项指令,并在main或者global上下文中进行定义(但在http上下文之外)。

Mail上下文的主要作用是在服务器上提供邮件代理解决方案的配置区。Nginx能够将验证请求重新定向至某外部验证服务器。其随后访问POP3及IMAP邮件服务器,从而提供实际邮件数据。Mail上下文还可配置为接入SMTP Relayhost。

Mail上下文的一般形式如下:

# main context

events {

# events context

}

mail {

# mail context

}
If上下文

If上下文可用于提供条件性指令处理机制。与编程中的if语句一样,Nginx中的if指令会在特定返回值为“true”的情况下执行对应指令。

Nginx中的If上下文由重写模块提供,且主要用于本上下文。由于Nginx会利用多种其它预设指令测试某请求的条件,因此在大多数情况下,我们并不需要主动使用if。这一点非常重要,Nginx社区还专门在if is evil页面中对此进行了强调。

问题在于,if块的添加有可能影响Nginx的处理顺序,进而造成意想不到的结果。在该上下文中惟一比较安全的就是return与rewrite指令。另外需要注意的是,if上下文在使用时会渲染一条在当前上下文中无用的try_files指令。

大多数情况下,if会被用于检测是否需要rewirte或者return。其往往存在于location块当中,因此if上下文的常见格式如下:

# main context

http {

# http context

server {

    # server context

    location location_match {

        # location context

        if (test_condition) {

            # if context

        }

    }

}

}
Limit_except上下文

Limit_except上下文用于限制特定HTTP方法在某location上下文中的适用范围。例如,如果只允许特定客户端访问POST内容,但每个人都应有能力阅读该内容,则可使用limit_except块来定义此要求。

以上示例中的limit_except如下:

. . .

# server or location context

location /restricted-write {

# location context

limit_except GET HEAD {

    # limit_except context

    allow 192.168.1.1/24;
    deny all;
}
}

这样,该上下文中的全部指令会对除上下文标题头内列出的全部其它HTTP方法放行。这样一来,任意客户端都能够使用GET与HEAD变量,但只有来自192.168.1.1/24子网的客户端获准使用其它方法。

关于上下文的通行规划

现在大家已经对各类常见上下文有了一定了解,下面我们将探讨处理Nginx上下文时的最佳实践。

在最高可用上下文内应用指令

很多指令能够在多种上下文内生效。例如,相当一部分指令可存在于http、server或者location上下文中。这就让我们能够灵活地进行指令设置。

不过总体来讲,我们最好是在最高上下文内声明指令,包括其适用性,并在必要时覆盖至低级上下文。具体理由如下。

首先,进行高层级声明允许我们避免同类上下文间的重复。例如,在以下示例中,各location声明的是同一document root:

http {
server {
    location / {
        root /var/www/html;

        . . .

    }

    location /another {
        root /var/www/html;

        . . .

    }

}
}

大家完全可以将该root移出server块,甚至移出http块:

http {
root /var/www/html;
server {
    location / {

        . . .

    }

    location /another {

        . . .

    }
}
}

多数情况下,server层级是最理想的选择,但以更高层级进行声明也有其它优势。我们不仅能够减少指令的设置次数,同时也可以直接在更多子元素内使用默认值,避免因遗漏而造成运行错误。

在处理中,尽量使用多种同类上下文来代替If逻辑

如果大家希望根据客户端请求中的具体信息选择处理方法,那么用户通常会使用if上下文来进行条件性处理。但这种作法存在以下几种弊端。

首先,if指令通常会返回管理员预料之外的结果。尽管同样的输入结果总会返回同样的输出结果,但Nginx采用的环境解释方法可能会与预期稍有不同。

第二,已经存在经过优化的预设指令来完成这类用途。Nginx鼓励大家使用选定server块及location块的方式选择算法。因此如果可以,大家最好还是将不同配置移动至其对应块中,从而由对应算法处理选择逻辑。

例如,相较于使用rewrite来获取必要格式的用户请求,大家应当尝试为该请求设置两组块,其一代表需要的方法,其二则捕捉大量请求并将其重新定向(可能属于rewrite)至正确块中。

这样一来,我们能够更轻松地读取结果,同时提升性能表现。正确的请求往往无需经过另外处理,而不正确的请求则进行重新定向而非重写,这将大大降低系统的运行负担。

总结

到这里,大家应该已经掌握了Nginx中各常见上下文以及用于创建块以进行上下文定义的各项指令。

另外请参阅Nginx说明文档以获取更多详细信息。请注意,创建我们自己的优化配置不仅能够提升可维护性,往往也能同时实现性能改善。

本文来源自DigitalOcean Community。英文原文:Understanding the Nginx Configuration File Structure and Configuration Contexts By Justin Ellingwood

翻译:diradw

nginx命名location跳转的模块上下文继承 本文详细描述了nginx的命名上下文跳转的时候如何继承跳转前的request ctx的方法。 阅读详情

相关推荐

Nginx 配置文件详解:`nginx.conf` 结构解析

本文深入解析Nginx配置文件的核心结构和使用方法。主要内容包括:1) Nginx配置文件的基础语法和层次化块结构,分为全局、events、http、server和location上下文;2) 各上下文的核心指令详解,如worker_processes、worker_connections等性能优化参数;3) HTTP上下文的关键配置,包括MIME类型、日志格式和压缩设置;4) Server和Location上下文的匹配规则与优先级。文章通过大量配置示例和对比表格,系统介绍了Nginx的高效配置方法,适合运

记录学习的过程 1312

nginx笔记1:nginx指令与上下文

1、Nginx 指令和上下文 本内容来源于菜鸟:https://www.cainiaojc.com/nginx/nginx-directive-and-context.html 1.1 Directive: nginx中的配置选项称为指令。该选项有名称和参数,必须以分号(;)结尾,否则nginx将无法加载配置并产生错误。 例子: gzip on; 1.2 context: 当我们在文本编辑器中打开核心nginx配置文件时,首先我们会注意到配置被组织成树状结构,并且被花括号包围,即“{ }”,这些被花括号包

cuckooyang的博客 3168

nginx配置文件详解

Nginx的配置文件是控制Nginx服务器行为和功能的关键。通过合理配置各个指令和参数,可以充分发挥Nginx的高性能特性,构建出稳定、高效的网站服务。在实际应用中,建议根据服务器的硬件性能、网络环境以及业务需求等因素进行综合考虑和调整。

德乐懿的博客 3278

Nginx中代理的上下文路径设置

Nginx中代理的上下文路径设置,实际配置nginx的时候,在Location段中配置的路径(request_uri)以及代理指令(proxy_pass)中设置的上下文路径的组合不同,最后实现的结果就不一样,以下列举四个例子进行说明,并在文末进行总结。

weixin_53273474的博客 4649

nginx源码分析--nginx上下文结构初始化

说在前面: 本文的讨论基于的nginx版本是1.2.1。 文章对于nginx的一些背景知识(如什么是模块,上下文等)没有过多提及,本文适合对nginx有一定了解的同学。   ngx_conf_t *cf; 做过nginx模块开发,或者是有学习过nginx源码的同学会对这个结构体非常眼熟了。 ngx_cycle.c:251 conf.ctx = cycle->conf_ctx;   c

鱼思故渊的专栏 2909

nginx简介与安装配置,目录结构和配置文件介绍,配置nginx的service管理

一.nginx简介 1.简介 2.特性 二.nginx安装 1.rpm包方式 (1)下载扩展源 (2)安装扩展rpm包,nginx -V查看配置参数,后面源码安装时要用到 2.源码方式 (1)建议提前下好所需要的部分包 (2)下载tar.gz包 ​编辑 (3)建议将包解压到/usr/local/src下,执行configure文件 (4)安装好上面需要的包,继续执行第一步 (5)一直到这步,configure文件就执行好了 (6)make,make install编译安装

树下一少年的博客 6994

nginx配置文件详解(3)

Nginx 配置文件的结构是层次化的,它由多个上下文(contexts)和指令(directives)组成。每个上下文可以包含其他上下文或指令。

m0_66705547的博客 1402

Nginx请求上下文及服务器配置

在Nginx中,请求上下文(request context)是指请求被处理的过程中涉及的各种配置和变量。本文将详细介绍Nginx的请求上下文以及服务器配置,并提供相应的源代码示例。Nginx提供了丰富的内置变量,用于在请求上下文中获取和操作请求的相关信息。此外,Nginx还支持上下文间的变量传递和动态模块加载,以便更灵活地处理请求和扩展功能。每个服务器块都有其自己的请求上下文,用于处理特定的域名或IP地址的请求。Nginx提供了许多内置变量,用于在请求上下文中获取和操作请求的相关信息。的值添加到响应头中。

DqClojure的博客 504

Nginx 的配置文件

Nginx 的配置文件 1、nginx 配置文件位置 cd /usr/local/nginx/conf/nginx.conf 2、配置文件中的内容 可以将 nginx.conf 配置文件分为三部分: 第一部分:全局块 从配置文件开始到 events 块之间的内容,主要会设置一些影响 nginx 服务器整体运行的配置指令,主要包括配置运行 Nginx 服务器的用户(组)、允许生成的 worker process 数,进程 PID 存放路径、日志存放路径和类型以及配置文件的引入等。 比如 worker_p

Hello World 2万+

msf使用木马控制android手机

使用msfvenom生成木马控制手机

my_name_is_sy的博客 3524

信号完整性入门:为什么工程师总爱用dB来描述衰减?

本文深入探讨了信号完整性分析中工程师偏爱使用dB(分贝)单位描述衰减的原因。dB通过对数转换,将大动态范围的乘除关系简化为加减运算,极大地方便了多级系统分析和链路预算计算。文章重点解释了-3dB点的核心意义,即功率衰减一半的临界状态,并阐述了其在评估信道带宽、插入损耗与回波损耗等关键参数中的实际应用,是高效工程思维和沟通的重要工具。

weixin_29263201的博客 387

nginx配置文件了解_了解NGINX配置文件

nginx配置文件了解It’s very important to understand the structure of the NGINX configuration file to get the best performance from your server. Further, by applying directives on right context in a NGINX con...

从零开始的教程世界 495

CMake安装grpc生成gRPCTargets.cmake文件

以下是安装语句: cd grpc_folder git submodule update --init cmake .. make -j 4 sudo make install 然而编写依赖gRPC的程序,发现无法调用gRPC的CMake文件,错误提示如下所示: include could not find load file: /usr/local/lib/cmake/g...

2331

Nginx目录结构与配置文件详解

Nginx安装 具体安装nginx请移步:nginx部署 安装依赖 安装pcre依赖软件 [root@ubuntu ~]# yum install -y pcre pcre-devel //外网情况使用此安装方式 [root@ubuntu ~]# rpm -ivh pcre //内网情况使用此安装方式 [root@ubuntu ~]# rpm -ivh pcre-devel //内网情况...

KH_FC的博客 5932

基于RYU+Mininet的SDN校园网络实战:从零搭建虚拟化实验环境

本文详细介绍了如何利用RYU控制器和Mininet搭建SDN校园网络实验环境,从Ubuntu虚拟机准备到网络拓扑设计,再到关键网络功能实现。通过实战案例展示SDN在校园网络中的应用优势,包括简化配置、提升效率等,为网络工程师和学生提供了一套完整的虚拟化实验方案。

weixin_30872499的博客 458

什么是无人机巡检?如何实现无人机自动巡检?

复亚智能的无人机自动巡检系统通过高度自动化的技术,实现了无人机的高效巡检作业。无人机自动机场支持无人机的自动起降和电池更换,自动飞行算法确保无人机在复杂环境中的精准飞行和拍摄,而云端识别诊断和AI感知算法平台则实现图像的实时传输和智能分析。复亚智能,作为无人机技术的创新者和推动者,致力于开发先进的无人机自动巡检解决方案,助力各行各业实现智能化、自动化的巡检工作,引领智能巡检的未来。利用人工智能和机器学习算法,无人机可以被训练来识别特定的模式和异常,如结构损坏、热泄漏等,从而提高巡检的准确性和效率。

foiadrone的博客 2844

nginx的配置文件详解

nginx的配置文件详解

tian的博客 4万+

RK3568平台(内存篇)DDR定频修改

如果需要DDR定频,则还需要注释掉其他多余的DDR频率,保留一个即可,例如注释掉opp-528000000、opp-1068000000、opp-1560000000,保留opp-2750000000则是定频最大频率。如果回退必须将 dmc_opp_table节点 的其他频率打开,否则系统无法选择到其他频率运行。ddr频点不对,先把ddr变频关掉,关闭后系统就不会一直重启了,以下是修改DDR频点的。rk3588修改定频节点在rk3588s.dtsi 的 dmc: dmc。

weixin_49303682的博客 1623

Nginx配置文件详解与配置

【1】默认配置文件 安装完路径默认为:/usr/local/nginx/conf/nginx.conf。 #user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid

小小默:进无止境 2万+

ABAP 平台 SOAUTH2_CLIENT 全面实战:用一套配置,打通 OAuth 2.0 客户端的创建、联调与运维

本文是一份ABAP平台上配置OAuth 2.0客户端的全流程指南,重点介绍新界面SOAUTH2_CLIENT的使用方法。内容涵盖从概念解析到实操步骤,包括四种常见授权方式的选择、证书信任管理、Scope配置以及联调技巧。指南通过两个企业级案例(对接SAP BTP Cloud Integration和SAML 2.0身份联合)展示实际应用场景,并提供了配置清单和伪代码示例。特别强调新界面将客户端配置、令牌测试和校验功能整合的工程化优势,以及与旧事务码OA2C_CONFIG的主要差异。文中多处引用SAP官方文档

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 319

电子电器架构 --- OEM企标中规定ECU启动时间的目的

电子电器架构 --- OEM企标中规定ECU启动时间的目的

Soly_kun的博客 224

深入解析Nginx配置文件:从入门到精通

Nginx的配置文件通常位于(包管理器安装)或(源码编译安装)。此外,Nginx还支持通过include指令包含其他配置文件,常见的配置文件目录包括和。Nginx的配置文件是其强大功能的核心,通过灵活的配置指令和模块化设计,Nginx能够适应各种复杂的应用场景。本文详细介绍了Nginx配置文件的结构、常用指令和高级用法,帮助读者全面理解并掌握Nginx的配置技巧。希望本文能帮助读者更好地理解和应用Nginx,构建高效、稳定的Web系统。

xycxycooo的博客 8003

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

nginx配置文件结构

本篇博客主要讲解nginx配置文件中的组成部分,以及各个部分的常用的简单指令和块指令,适合刚接触nginx的同学。通过本篇文章能够宏观上明确ngxin配置文件的主要组成部分和作用。

理想主义的花最终会盛开在浪漫主义的土壤里,我的热情永远不会熄灭在现实的平凡之中,我们终将上岸,阳光万里。 2605

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Nginx配置文件详解

###进入nginx 目录 cd /usr/local/nginx ###递归显示 2 级目录 tree -L 2 ./ 一、conf 目录 conf 目录:存放nginx 配置文件的目录 fastcgi.conf:存放fastcgi 相关的配置 fastcgi.conf.default:fastcgi.conf 的原始备份文件,用于还原 fastcgi_params:fastcgi 相关参数文件 fastcgi_params.default:fastcgi_params 的原始...

weixin_45284946的博客 2万+

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Nginx配置文件 所在路径 到底在哪?

(大坑,误)不同安装方式,nginx配置文件路径也不一样。

Ximerr的博客 4万+

【 Nginx | 目录结构与配置文件解析 】

本文深入剖析Nginx的安装目录,涵盖conf、html、logs、sbin等关键目录及其文件功能,详述Nginx进程管理与启停操作,聚焦nginx.conf配置文件的全局、events、http等核心模块,助力读者全面掌握Nginx架构。

2025优快云博客之星Top246,后端开发技术领域新星创作者。 1775
上一篇: 如何使用Journalctl查看并操作Systemd日志
下一篇: 如何在Ubuntu 14.04服务器上安装并使用Graphite
普通网友
博客等级 码龄10年 769粉丝 269原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值