开发者社区> 技术小美> 正文

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


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Web 基础——Nginx(一)
Nginx 是一款开源的高性能 HTTP 服务器和反向代理服务器,同时支持 IMAP/POP3/SMTP 代理服务,其性能优势着为显著,官网上称:单台 Nginx 服务器可以处理 50000 并发。
83 0
Web 基础——Nginx(二)
Nginx 主配置文件是一个纯文本类型的文件,整个配置文件是以区块的形式组成的。一般每个区块以一对 {} 大括号。
103 0
Nginx 学习笔记(二)Web 服务启用 HTTP/2
个人网站提升为HTTP2.0协议,加速访问 一、条件 1、openssl的版本必须在1.0.2e及以上 2、nginx的版本必须在1.9.5以上 二、编译安装 1、openssl 编译安装 (1)开始 wget --no-check-certificate https://www.
1589 0
Nginx 反向代理 如何在web应用中获取用户ip
转载:http://blog.csdn.net/bao19901210/article/details/52537279 问题背景: 在实际应用中,我们可能需要获取用户的ip地址,比如做异地登陆的判断,或者统计ip访问次数等,通常情况下我们使用request.
1852 0
Nginx部署及Web基础
Nginx部署及Web基础 Nginx是一个开源且高性能、可靠的http web服务、代理服务 开源:直接获取源代码 高性能:支持海量开发 可靠:服务稳定
134 0
【web】Nginx服务安装、配置解释
文章目录 前言 一、文件路径 1.1 源码包安装
77 0
【web】Nginx简介、配置优化
文章目录 前言 一、性能优势/运行原理/应用场景 2.1 优势
52 0
+关注
文章
问答
文章排行榜
最热
最新
相关电子书
更多
《Nginx 代理系统常用手册》
立即下载
WEB SERVICE EFFICENCY
立即下载
WEB浏览器中即将发生的安全变化
立即下载