Nginx搭建域名访问and Nginx基本参数配置

Nginx配置文件

server {
    listen       80;
    server_name hzmall.com;

    location /static/ {
        root /usr/share/nginx/html;
    }



    location / {
       # proxy_set_header Host $host;
        proxy_pass http://192.168.10.1:10001;
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}

server_name: 表示访问nginx得http请求中得host内容。
具体来说,当一个 HTTP 请求到达 Nginx 服务器时,Nginx 会检查请求头中的 Host 字段,并与所有 server 块中的 server_name 进行匹配。如果找到了匹配的 server_name,则 Nginx 会将请求转发给该 server 块中定义的配置进行处理。
当一个 HTTP 请求到达 Nginx 服务器时,如果 Nginx 在检查请求头中的 Host 字段后未能找到与任何 server_name 相匹配的项,处理的方式主要取决于 Nginx 的配置和上下文。

  1. 默认服务器 (default server): 如果在配置文件中有一个或多个 server 块使用了 default_server 参数,Nginx 会选择其中一个作为默认服务器来处理该请求。这通常用于捕获那些没有明确 server_name 的请求。
server {  
    listen 80 default_server;  
    server_name _; # 或者可以省略 server_name,因为它已经是 default_server  
    # ... 其他配置 ...  
}

在上面的配置中,default_server 指示 Nginx 在没有其他匹配时使用这个 server 块。server_name _; 是一个特殊的值,表示匹配任何主机名。

  1. 第一个 server 块: 如果配置文件中没有使用 default_server,Nginx 通常会根据配置文件中 server 块的顺序选择第一个 server 块来处理请求。这种行为并不推荐,因为它可能导致意外的行为,尤其是当配置更改或添加新的 server 块时。

  2. 返回错误: 在某些情况下,管理员可能希望在没有匹配 server_name 时返回一个错误,例如 404 Not Found 或 444 No Response。这可以通过在 server 块中设置特定的错误处理或返回指令来实现。

  3. 请求重定向: 另一种处理方式是重定向请求到另一个 URL 或主机。这可以通过 rewrite 指令或 return 301/302 指令来实现。

  4. 忽略请求: 在某些安全敏感的场景中,管理员可能希望忽略那些没有匹配 server_name 的请求,以避免潜在的安全风险。这可以通过配置 Nginx 忽略这些请求或返回特定的错误码来实现。

  5. 去找 default.conf 命名得配置文件中得server块

最佳实践是始终为 Nginx 配置一个明确的默认服务器,以便在没有匹配 server_name 时能够有一个预期的行为。同时,确保定期检查并更新 Nginx 配置,以反映主机名的任何更改或添加。

Nginx

在这里插入图片描述
http 块中 包含多个server块。每一个server块对应一个映射规则

项目配置

实现动静分离,静态资源有Nginx直接返回

在这里插入图片描述

Nginx怎么判断哪些请求是动态的,哪些是静态的?
定义一个规则:当/static/** 请求都是静态资源的请求。

1.将静态资源放在nginx/html/static目录下
2.修改gulimall.conf文件

# 当路径访问gulimall.com/static/时候,映射到html目录。
#http://gulimall.com/static/static/index/img/img_09.png   是错误写法
#-----》 http://gulimall.com/static/static/index/img/img_09.png 正确写法
location /static/ {
	root	/usr/share/nginx/html;
}

在这里插入图片描述

Nginx转发服务网关(多个),实现负载均衡

在nginx主配置文件中 http模块 添加upstream 上游服务器的名字{server :ip地址}。
在具体转发的时候 ,直接写上游服务器的名字。 实现由nginx转发到多个网关服务的负载均衡。
在这里插入图片描述

Nginx在代理给网关服务的时候,会丢失host信息,需要在nginx的conf文件中添加proxy_set_header Host $host 配置

nginx配置
nginx配置

在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值