nginx基础知识

nginx基础知识

Nginx是一款开源的高性能HTTP和反向代理服务器,也用于邮件代理服务器。其特点包括处理高并发连接的能力、低内存占用、以及异步事件驱动的架构。
Nginx的配置文件(通常位于/etc/nginx/nginx.conf)是其核心,它允许管理员定义服务器如何响应不同类型的网络请求。配置文件由多个部分组成,包括events、http、server和location等指令块。这些指令块协同工作,控制Nginx的行为和响应机制。

  • location

location指令是Nginx配置中的核心部分,用于定义服务器如何处理不同的URI请求。它位于server指令块中,用于根据请求的URI来确定请求应该如何被处理。
支持精确、标准和正则匹配。

location [修饰符] /uri/ {
    # 配置指令
}
  • root和alias

root和alias都可以定义在location模块中,都是用来指定请求资源的真实路径,比如:

location /i/ {  
    root /data/w3;
}
# 真实的路径是root指定的值加上location指定的值 。
# request http://www.example.com/i/test.gif --> /data/w3/i/test.gif


location /i/ {  
  alias /data/w3/;
}
# 真实路径都是 alias 指定的路径
# request http://www.example.com/i/test.gif --> /data/w3/test.gif

区别:
1、 alias 只能作用在location中,而root可以存在server、http和location中。
2、 alias 后面必须要用 “/” 结束,否则会找不到文件,而 root 则对 ”/” 可有可无。

  • proxy_pass

在nginx中配置proxy_pass代理转发时,如果在proxy_pass后面的url加/,表示绝对根路径;如果没有/,表示相对路径,把匹配的路径部分也给代理走。

# http://www.example.com/proxy/test.html
# 第一种:
location /proxy/ {
proxy_pass http://127.0.0.1/;
}
# 代理到URL:http://127.0.0.1/test.html

# 第二种(相对于第一种,最后少一个 / )
location /proxy/ {
proxy_pass http://127.0.0.1;
}
代理到URL:http://127.0.0.1/proxy/test.html

# 第三种:
location /proxy/ {
proxy_pass http://127.0.0.1/aaa/;
}
# 代理到URL:http://127.0.0.1/aaa/test.html

# 第四种(相对于第三种,最后少一个 / )
location /proxy/ {
proxy_pass http://127.0.0.1/aaa;
}
# 代理到URL:http://127.0.0.1/aaatest.html

相关推荐

  1. nginx基础知识

    2024-04-10 19:32:05       36 阅读
  2. ## 基础知识

    2024-04-10 19:32:05       25 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-10 19:32:05       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-10 19:32:05       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-10 19:32:05       87 阅读
  4. Python语言-面向对象

    2024-04-10 19:32:05       96 阅读

热门阅读

  1. 取消请求实战

    2024-04-10 19:32:05       44 阅读
  2. golang主要优缺点

    2024-04-10 19:32:05       44 阅读
  3. 函数参数的类型

    2024-04-10 19:32:05       45 阅读
  4. flutter ios 运行报错

    2024-04-10 19:32:05       41 阅读
  5. 用选择法对数组中10个整数按由小到大排序

    2024-04-10 19:32:05       41 阅读
  6. 如何在苹果手机上安装iOS应用的.ipa文件?

    2024-04-10 19:32:05       118 阅读
  7. 每天学习一个Linux命令之hostnamectl

    2024-04-10 19:32:05       39 阅读
  8. 大语言模型RAG vs. 长文本

    2024-04-10 19:32:05       37 阅读
  9. 自然语言处理(NLP)技术

    2024-04-10 19:32:05       35 阅读