nginx配置详解(3) - http块

http块的作用: 配置所有server通用的一些配置
在这里插入图片描述

include mime.types; 						# 文件扩展名与文件类型映射表
default_type application/octet-stream; 		# 默认文件类型
sendfile on; 								# 开启高效文件传输模式。
autoindex on; 								# 开启目录列表访问,合适下载服务器,默认关闭。
tcp_nopush on; 								# 防止网络阻塞
tcp_nodelay on; 							# 防止网络阻塞
keepalive_timeout 120; 						# 长连接超时时间,单位是秒
gzip on; 									# 开启gzip压缩输出

1 server

    # 虚拟主机的配置,一个server就代表一个虚拟主机
    server {
        # 监听端口
        listen       192.168.250.130:80;
        
        # 域名可以有多个, 用空格隔开
        server_name  www.meiduo.site;
        
        # 资源定位
        location =/{
            # 站点根目录,你网站文件存放的地方
            root /home/ws/Desktop/meiduo/meiduo_mall/meiduo_mall/static;
            index index.html;
    	}
    }

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(1) location

location主要是根据Server匹配到的请求路径和关键字去响应和处理。

location[ = | ~ | ~* | ^~] url{

}

=:用于不含正则表达式的 url 前,要求字符串与 url 严格匹配,匹配成功就停止向下搜索并处理请求。
~:用于表示 url 包含正则表达式,并且区分大小写。
!~:用于表示 url 包含正则表达式,并且不区分大小写。
~*:用于表示 url 包含正则表达式,并且不区分大小写。
!~*:用于表示 url 包含正则表达式,并且区分大小写。
^~:用于不含正则表达式的 url 前,要求 Nginx 服务器找到表示 url 和字符串匹配度最高的 location 后,立即使用此 location 处理请求,而不再匹配。
如果有 url 包含正则表达式,不需要有 ~ 开头标识。

优先级: 精确匹配 > 优先匹配 > 通用匹配
在这里插入图片描述
访问效果如下:

访问根目录/, 比如http://a.com/ 将匹配规则A
访问 http://a.com/login 将匹配规则B
访问 http://a.com/static/a.html 将匹配规则C
访问 http://a.com/a.gif, http://a.com/b.png 规则D和E均适合,按顺序优先使用规则D
http://a.com/static/c.png 则优先匹配到规则C
http://a.com/a.PNG 则匹配规则E,因为规则E不区分大小写。
访问 http://a.com/a.XHTML 使用规则F。
访问 http://a.com/category/id/1111 则最终匹配到规则H。

1) try_files

try_files $uri $uri/ =400;
当用户请求 http://localhost/example 时,这里的 $uri 就是 /example。
它会先到root/下找example这个文件,
若没有找到, 就到$uri目录下找, 即root/example/中找
若还没有找到, 就会返回状态码400

location / {
    root /etc/nginx/html;
    index index.html;
    try_files $uri $uri/ =400;  # try_files对根路径无效
}

location /a {
    try_files $uri $uri/ =401;
}

搭配@使用

location /a {
    try_files $uri $uri/ @meiduo;
}

location @meiduo {
    return 402;
}

2) return

location / {
    return 301 http://www.baidu.com;
}

3) alias

location / {
    alias /etc/nginx/html/;  # alias一定要在末尾加/, root加不加都可以
    index 111.html;
}

location /a {  # 请求/a路径 等价于 请求/etc/nginx/html/
    alias /etc/nginx/html/;  # alias相当于给后面的路径取了个别名叫/a
    index 111.html;
}

location /html {  # 请求/html路径 等价于 请求/etc/nginx/html/
    root /etc/nginx/;  # root是指根路径, 这里是在根路径上追加/html
    index 111.html;
}

4) stub_status

location / {
    stub_status on;  # 返回nginx状态信息
}

在这里插入图片描述

5) allow deny

location / {
    allow 192.168.250.1;  # 允许哪个IP访问
    deny all;  # 除了允许的IP, 其它都拒绝访问
}

6) autoindex

打开目录浏览功能, 可下载文件

location /cctv {
    alias /home/ws/;
    autoindex on;
}

在这里插入图片描述

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Nginx 是一个高性能的开源 Web 服务器和反向代理服务器。它的配置文件是一个重要的部分,影响着服务器的行为和性能。下面是对 Nginx 配置文件的详细解释: 1. 配置文件位置: Nginx配置文件通常位于 /etc/nginx/nginx.conf。此外,可以通过 include 语句包含其他配置文件,使配置更加模化。 2. 基本结构: Nginx配置文件由多个指令和组成。指令是配置文件的最小单位,而是由一对花括号括起来的指令集合。配置文件从上到下按顺序解析,遇到会进一步解析内的指令。 3. 主要指令: - worker_processes:指定 Nginx 创建的进程数。通常设置为 CPU 核心数的倍数。 - events:配置 Nginx 处理连接和请求的事件模型。 - http:定义 HTTP 服务器的全局配置。 - server:定义一个虚拟主机(或称为 server block),可以包含多个 location 。 - location:根据请求的 URI 匹配规则,定义不同的请求处理方式。 4. 常用配置选项: - listen:指定监听的 IP 地址和端口。 - server_name:指定虚拟主机的域名。 - root:指定网站根目录。 - index:指定默认的索引文件。 - location:根据匹配规则指定不同的处理方式,如代理、重定向、静态文件处理等。 5. 变量和指令: Nginx 支持一些内置变量和指令,用于实现动态的配置和请求处理。常见的变量包括 $uri、$args 和 $http_user_agent,常见的指令包括 if、rewrite 和 return。 6. 配置文件的重载: 在修改配置文件后,可以通过发送信号给 Nginx 进程来重新加载配置,而无需停止服务器。常用的信号有 HUP(重新加载配置)和 TERM(停止服务器)。 这些是 Nginx 配置文件的一些基本概念和常用指令。具体的配置方式和使用方法可以根据实际需求进行深入学习和探索。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值