站长资讯网
最全最丰富的资讯网站

Nginx Web服务器配置块有哪些?

Nginx Web服务器配置块有:1、设置虚拟服务器;2、配置位置;3、使用变量;4、返回特定状态码;5、重写请求中的URI;6、重写HTTP响应;7、处理错误。

Nginx Web服务器配置块有哪些?

Nginx Web服务器配置块有:

1. 设置虚拟服务器

NGINX配置文件必须至少包含一个服务器指令来定义虚拟服务器。 当NGINX处理请求时,它首先选择提供请求的虚拟服务器。

虚拟服务器由http上下文中的服务器指令定义,例如:

http {     server {         # Server configuration     } }

可以将多个server指令添加到http上下文中以定义多个虚拟服务器。

推荐教程:nginx快速入门教程

server配置块通常包括一个listen指令,用于指定服务器侦听请求的IP地址和端口(或Unix域套接字和路径)。IPv4和IPv6地址均被接受; 将方括号(。

下面的示例显示了监听IP地址127.0.0.1和端口8080的服务器的配置:

server {     listen 127.0.0.1:8080;     # The rest of server configuration }

如果省略端口,则使用标准端口。 同样地,如果省略一个地址,服务器将侦听所有地址。 如果没有包含listen指令,则“标准”端口为80/tcp,“default”端口为8000/tcp,具体取决于超级用户权限。

如果有多个服务器与请求的IP地址和端口相匹配,则NGINX将根据服务器块中的server_name指令测试请求的主机头域。 server_name的参数可以是完整(精确)名称,通配符或正则表达式。

通配符是一个字符串,其开头,结尾或两者都包含星号(*); 星号匹配任何字符序列。 NGINX将Perl语法用于正则表达式; 在它们之前使用波浪号(〜)。 此示例说明了一个确切的名称。

server {     listen      80;     server_name example.org www.example.org;     ... }

如果匹配主机头几个名称,则NGINX通过按以下顺序搜索名称并使用其找到的第一个匹配来选择一个:

  • 确切的名字(完整准确的名称)

  • 以星号开头的最长通配符,例如:*.example.org

  • 以星号结尾的最长通配符,如:mail.*

  • 第一个匹配正则表达式(按照出现在配置文件中的顺序)

如果主机头字段与服务器名称不匹配,则NGINX会将请求路由到请求到达端口的默认服务器。 默认服务器是nginx.conf文件中列出的第一个服务器,除非您将listen_server参数包含在listen指令中以明确指定服务器为默认值。

server {     listen    80    default_server;     ... }

一个完整的Nginx虚拟机配置示例,这里我们演示配置两个虚拟机,对应域名分别为:vhost1.com 和 vhost2.com,vhost1.com网站的主目录在/data/www/vhost1,vhost2.com网站的主目录在/data/www/vhost2

server {     listen       80;     server_name vhost1.com www.vhost1.com;     index index.html index.html;     root  /data/www/vhost1;     access_log  /var/log/vhost1.com.log; } server {     listen       80;     server_name vhost2.com www.vhost2.com;     index index.html index.html;     root  /data/www/vhost2;     access_log  /var/log/vhost2.com.log; }

2. 配置位置

NGINX可以根据请求URI向不同的代理发送流量或提供不同的文件。 这些块是使用放置在server指令中的location指令来定义的。

例如,您可以定义三个location块,以指示虚拟服务器向一个代理服务器发送一些请求,将其他请求发送到不同的代理服务器,并通过从本地文件系统传递文件来提供其余请求。

NGINX测试根据所有location指令的参数请求URI,并应用匹配location中定义的指令。 在每个location块内,通常可能(除了一些例外)放置

赞(0)
分享到: 更多 (0)
网站地图   沪ICP备18035694号-2    沪公网安备31011702889846号