了解Nginx以及配置反向代理

本文详细介绍了Nginx的工作原理、配置虚拟服务器、处理静态内容以及配置反向代理。Nginx作为高性能的HTTP和反向代理服务器,通过listen、server_name和location等指令实现请求处理。通过配置反向代理,可以将不同域名和URI的请求转发到不同的后端服务。
摘要由CSDN通过智能技术生成

Nginx介绍

定义:一个非常 轻量级的HTTP服务器, 是一个高性能的HTTP和反向代理服务器!
特性:
高性能,稳定性,丰富的功能,简单的配置和低资源消耗。

原理

Nginx有一个主线程和几个工作线程。
主线程是加载和验证配置文件、维护工作线程。
工作线程处理实际的请求,Nginx 采用基于事件的模型依赖操作系统的机制在工作线程之间高效地分发请求。工作线程的数量可配置,也可自动调整为服务器CPU的数量。

Nginx及其模块的工作方式由配置文件确定!

Nginx实质

Nginx配置的核心定义要处理的URL以及如何响应这些URL请求,定义一系列的虚拟服务器(Virutal Servers) 控制来自特定域名或者IP的请求处理!!

换句话说:
Nginx 配置为 Web 服务器就是定义处理哪些 URLS 和如何处理这些URLS 对应的请求。具体来说,就是定义一些虚拟服务器(Virtual Servers),控制具有特定 IP 和域名的请求

虚拟服务器

1)虚拟服务器定义一系列的location控制处理特定的URI集合。
2) 每一个location定义了对映射到自己的请求的处理场景,可以返回一个文件或代理此请求。

Nginx模块

Nginx 由不同的模块组成,这些模块由配置文件中指定的指令控制。
简单指令块指令
简单指令一个简单指令包含指令名称和指令参数,以空格分隔,以分号结尾。
块指令:块指令与简单指令类似,但是由大括号({和})包围。 如果块指令大括号中包含其他指令,则称该指令为上下文(如: events, http, server 和 location)

指令一般有以下这些:
listen: 配置块使用 listen 命令监听本机 IP 和端口号
server_name: 用于区分,当多个server的IP和端口号一样时, Niginx通过请求头中的Host区分!!!!

location: 定义了对映射到自己的请求的处理场景。
当Nginx选定了一个server(虚拟服务器)之后,就会根据URIs去选择合适的location来决定代理请求或返回文件。
location支持前缀或正则。
location必须是在一个server里面。

作用一 处理静态内容

http块中创建server块指令,再设置location块指令:

server{
    location/{
        root /data/www;
    }
    location /images/ {
        root /data;
    }
}

上面的location块指定/前缀与请求中的URI对比。 匹配的请求将会被添加到root指令中指定的路径,这就是本地文件系统的路径!!
比如上面:
http://localhost/
匹配
/data/www/

Nginx采用最长前缀匹配原则
也就是说,如果URI匹配多个location,Nginx采用最长前缀匹配原则。
即上面的

location /images/ {
}
location / {
}

URI如果是/image/这样的请求,优先匹配/image/ location。 / location不会被使用

配置代理服务器

server{
    location / {
        proxy_pass http://localhost:8080/;
    }
    location ~\.(git|jpg|png){
        root /data/images;
    }
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值