nginx处理web请求分析

简介:

一、基于域名的虚拟服务器

nginx首先确定使用哪一个server域来处理请求,下面的例子中有3个虚拟服务器监听*:80端口。


server {
listen 80;
server_name nginx.org www.nginx.org;
...
}
 
server {
listen 80;
server_name nginx.net www.nginx.net;
...
}
 
server {
listen 80;
server_name nginx.com www.nginx.com;
...

}

在上面的配置中,nignx会根据HTTP请求“Host”的值,确定具体哪一个server接收web请求。如果“Host”不存在或者Host的值无法匹配任何sever中的$server_name,nginx就会把web请求送到默认的server中。如果没有定义default_server,默认将 请求传递给第一个server。

默认server的配置方法如下:

server {
     listen       80  default_server;
     server_name  nginx.net  www.nginx.net;
     ...

}

二、处理基于IP和域名的虚拟主机

server {
     listen       192.168.1.1:80;
     server_name  nginx.org  www.nginx.org;
     ...
}
 
server {
     listen       192.168.1.1:80;
     server_name  nginx.net  www.nginx.net;
     ...
}
 
server {
     listen       192.168.1.2:80;
     server_name  nginx.com  www.nginx.com;
     ...
}

上面的配置中,nginx首先匹配IP地址和端口,然后在确定响应IP下的server_name,如果没有找到任何匹配的 server_name,ngixn将请求传递给默认server。例如,当nginx收到来自 192.168.1.1:80 端口的请求www.nginx.com(无法匹配192.168.1.1下的任何一个server_name),上例中没有定义默server,那么这个请求将被传递到第一个server中。

默认server的配置方法如下:

备注:nginx可以为不同的IP地址和端口定义多个默认server

eg:

server {
     listen        192.168.1.1:80;
     server_name   nginx.org  www.nginx.org;
     ...
}
 
server {
     listen        192.168.1.1:80  default_server;
     server_name   nginx.net  www.nginx.net;
     ...
}
 
server {
     listen        192.168.1.2:80  default_server;
     server_name   nginx.com  www.nginx.com;
     ...

}

三、如何处理PHP请求

待补充。。。。。


本文转自 Tenderrain 51CTO博客,原文链接:http://blog.51cto.com/tenderrain/1610734


相关文章
|
2月前
|
负载均衡 应用服务中间件 API
什么是 Web 服务器领域的 openresty
什么是 Web 服务器领域的 openresty
42 0
|
JSON Java 应用服务中间件
NGINX Unit:动态Web和应用服务器
NGINX Unit:动态Web和应用服务器
NGINX Unit:动态Web和应用服务器
|
负载均衡 应用服务中间件 持续交付
【web】Nginx服务安装、配置解释
文章目录 前言 一、文件路径 1.1 源码包安装
142 0
【web】Nginx服务安装、配置解释
|
缓存 负载均衡 安全
【web】Nginx简介、配置优化
文章目录 前言 一、性能优势/运行原理/应用场景 2.1 优势
125 0
|
缓存 负载均衡 安全
Web 基础——Nginx(一)
Nginx 是一款开源的高性能 HTTP 服务器和反向代理服务器,同时支持 IMAP/POP3/SMTP 代理服务,其性能优势着为显著,官网上称:单台 Nginx 服务器可以处理 50000 并发。
182 0
Web 基础——Nginx(一)
|
数据采集 应用服务中间件 nginx
Web 基础——Nginx(二)
Nginx 主配置文件是一个纯文本类型的文件,整个配置文件是以区块的形式组成的。一般每个区块以一对 {} 大括号。
433 0
Web 基础——Nginx(二)
|
缓存 负载均衡 应用服务中间件
Nginx - Web 缓存技术简述
Nginx - Web 缓存技术简述
285 0
|
域名解析 应用服务中间件 Linux
Nginx部署及Web基础
Nginx部署及Web基础 Nginx是一个开源且高性能、可靠的http web服务、代理服务 开源:直接获取源代码 高性能:支持海量开发 可靠:服务稳定
206 0
|
JSON 应用服务中间件 Linux
02.Nginx Web快速入门
1.Nginx基本简述 Nginx是一个开源且高性能、可靠的Http Web服务、代理服务。 开源: 直接获取源代码 高性能: 支持海量并发 可靠: 服务稳定 我们为什么选择 Nginx服务 Nginx非常轻量 功能模块少 (源代码仅保留http与核心模块代码,其余不够核心代码会作为插件来安装) 代码模块化 (易读,便于二次开发,对于开发人员非常友好) 互联网公司都选择Nginx 1.Nginx技术成熟,具备的功能是企业最常使用而且最需要的 2.适合当前主流架构趋势, 微服务、云架构、中间层 3.统一技术栈, 降低维护成本, 降低技术更新成本。 Nginx采用Epool网络模型,Apache采
150 0