NGINX和NGINX Plus与其他服务类似,因为它们使用以特定格式编写的基于文本的配置文件。bluehost美国独立服务器将为您介绍创建NGINX Plus和NGINX配置文件,默认情况下,该文件名为nginx.conf,对于NGINX Plus,该文件位于/ etc / nginx目录中。(对于NGINX Open Source,其位置取决于用于安装NGINX的软件包系统和操作系统。它通常是/ usr / local / nginx / conf,/ etc / nginx或/ usr / local / etc / nginx之一)
指令
配置文件由指令及其参数组成。每个简单(单行)指令都以分号结尾。其他指令充当将相关指令组合在一起的“容器”,将它们括在花括号({})中;这些通常称为块。以下是一些简单指令的示例。
user nobody;
error_log logs/error.log notice;
worker_processes 1;
功能特定的配置文件
为了使配置更易于维护,我们建议您将其拆分为一组存储在/etc/nginx/conf.d目录中的特定于功能的文件,并使用nginx.confinclude主文件中的伪指令来引用该文件的内容。功能特定的文件。推荐阅读:《cPanel如何安装Nginx》
include conf.d/http;
include conf.d/stream;
include conf.d/exchange-enhanced;
语境
一些顶级指令(称为context)将适用于不同流量类型的指令归为一组:
events –常规连接处理
http – HTTP流量
mail –邮件流量
stream – TCP和UDP流量
放置在这些上下文之外的指令被认为是在主要上下文中。
虚拟服务器
在每个流量处理上下文中,您都包含一个或多个server块,以定义控制请求处理的虚拟服务器。您可以在server上下文中包含的指令根据流量类型而有所不同。
对于HTTP流量(http上下文),每个server指令都控制对特定域或IP地址上的资源请求的处理。location上下文中的一个或多个server上下文定义了如何处理URI的特定集合。
对于邮件和TCP / UDP流量(mail和stream上下文),server每个伪指令控制到达特定TCP端口或UNIX套接字的流量的处理。推荐阅读:《Linux服务器启动停止和重启Nginx命令》
具有多个上下文的样本配置文件
以下配置说明了上下文的使用。
user nobody; # a directive in the ‘main’ context
events {
# configuration of connection processing
}
http {
# Configuration specific to HTTP and affecting all virtual servers
server {
# configuration of HTTP virtual server 1
location /one {
# configuration for processing URIs starting with ‘/one’
}
location /two {
# configuration for processing URIs starting with ‘/two’
}
}
server {
# configuration of HTTP virtual server 2
}
}
stream {
# Configuration specific to TCP/UDP and affecting all virtual servers
server {
# configuration of TCP virtual server 1
}
}
继承
通常,子上下文(一个上下文包含在另一个上下文(其父对象)中)将继承父级别包含的指令设置。某些指令可以出现在多个上下文中,在这种情况下,您可以通过在子上下文中包含该指令来覆盖从父项继承的设置。有关示例,请参见proxy_set_header指令。
重新加载配置
为了使对配置文件的更改生效,必须重新加载该文件。您可以重新启动该nginx过程或发送reload信号以升级配置,而不会中断当前请求的处理。有关详细信息,请参见在运行时控制NGINX进程。
使用NGINX Plus,您可以在上游组中的服务器之间动态地重新配置负载平衡,而无需重新加载配置。您还可以使用NGINX Plus API和键值存储来动态控制访问,例如基于客户端IP地址。推荐相关阅读:《如何保证独立服务器数据的安全》