nginx.conf 配置解析及常用配置

本文涉及的产品
传统型负载均衡 CLB,每月750个小时 15LCU
全局流量管理 GTM,标准版 1个月
EMR Serverless StarRocks,5000CU*H 48000GB*H
简介: nginx.conf 配置解析及常用配置

本文为博主原创,未经允许不得转载:

  nginx.conf 配置文件配置解析

#定义 Nginx 运行的用户和用户组。默认nginx的安装用户为 nobody
    user www www;
  #启动进程,通常设置成和 cpu 的数量相等,即worker 进程数量,默认为1
    worker_processes 8;
  #单个后台 worker process 进程的最大并发链接数 (最大连接数=连接数*进程数)
    worker_connections 102400;
  #全局错误日志及 PID 文件
    error_log /usr/local/nginx/logs/error.log;
  #错误日志定义等级,[ debug | info | notice | warn | error | crit ]
    pid /usr/local/nginx/nginx.pid;
   #keepalive 超时时间,客户端到服务器端的连接持续有效时间
    keepalive_timeout 120;
  #允许客户端请求的最大单文件字节数
    client_max_body_size 10m;

  Nginx WEB 默认发布静态页面,也可以均衡后端动态网站,用户发起 HTTP 请求,如果请求静态页面,Nginx 直接处理并返回,如果请求的是动态页  面,Nginx 收到请求之后会进行判断,转到后端服务器去处理。

  Nginx 实现负载均衡需要基于 upstream 模块,同时需要设置 location proxy_pass 转发指令实现。如下为 Ningx 应用负载均衡集群配置,根据后端实际情况修改即可,study_www 为负载均衡模块的名称,可以任意指定,但必须跟 vhosts.conf、Nginx.conf 虚拟主机的 proxy_pass段保持一致,否则不能将请求转发至后端的服务器,weight 表示配置

权重,在 fail_timeout内检查 max_fails 次数,失败则剔除均衡。

 upstream study_www {

   server 127.0.0.1:8080 weight=1 max_fails=2 fail_timeout=30s;

   server 127.0.0.1:8081 weight=1 max_fails=2 fail_timeout=30s;

}

nginx 常用配置:

#虚拟主机配置
server {
  #侦听 80 端口
  listen 80;
  #定义使用 www.studey.net 访问
  server_name www.studey.net;
  #设定本虚拟主机的访问日志
  access_log logs/access.log main;
  root /data/webapps/www;   #定义服务器的默认网站根目录位置
  index index.php index.html index.htm; #定义首页索引文件的名称
  #默认请求
  location ~ /{
    root /data/webapps/www;  #定义服务器的默认网站根目录位置
    index index.php index.html index.htm;    #定义首页索引文件的名称
    #以下是一些代理的配置
    #如果后端的服务器返回 502、504、执行超时等错误,自动将请求转发到 upstream 负载均衡池中的另一台服务器,实现故障转移。.
    proxy_next_upstream http_502 http_504 error timeout invalid_header;
    proxy_redirect off;
    #后端的 Web 服务器可以通过 X-Forwarded-For 获取用户真实 IP
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_pass http://study_www; #请求转向后端定义的均衡模块
  }
  # 定义错误提示页面
  error_page 500 502 503 504 /50x.html;
  location = /50x.html {
    root html;
  }
  #配置 Nginx 动静分离,定义的静态页面直接从 Nginx 发布目录读取。
  location ~ .*.(html|htm|gif|jpg|jpeg|bmp|png|ico|txt|js|css)$ {
    root /data/webapps/www;
    #expires 定义用户浏览器缓存的时间为 3 天,如果静态页面不常更新,可以 设置更长,这样可以节省带宽和缓解服务器的压力,在浏览器保存该类型文件的天数。
    expires 3d;
    }
  }
}

    通过 Expires 参数设置,可以使浏览器缓存过期时间,减少与服务器之前的请求和流量。具体 Expires 定义是给一个资源设定一个过期时间,

  也就是说无需去服务端验证,直接通过 浏览器自身确认是否过期即可,所以不会产生额外的流量。

    如果静态文件不常更新,Expires 可以设置为 30d,表示在这 30 天之内再次访问该静态 文件,浏览器会发送一个 HTTP 请求,会比对服务器

  该文件最后更新时间是否有变化,如果 没有变化,则不会从服务器抓取,返回 HTTP 状态码 304,如果有修改,则直接从服务器重 新下载,返回

   HTTP 状态码 200

    也可以在同一个nginx 上配置多个server,并开启不同的端口:

worker_processes 1;
events { 
    worker_connections 1024; 
}
http {
    include mime.types; 
    default_type application/octet-stream; 
    sendfile on; keepalive_timeout 65;
    server { 
        listen 80; 
        server_name www.test1.com; 
        access_log logs/test1.access.log; 
        location / { 
            root html/test1; 
            index index.html index.htm; 
            } 
    }
    server { 
        listen 81; 
        server_name  www.test2.com; 
        access_log logs/test2.access.log; 
        location / { 
            root html/test2; index in
            dex.html index.htm; 
            } 
        }
}

通过 Windows 客户端配置 hosts 绑定 IP 与两个域名的 对应关系,在 IE 浏览器访问测试效果。

  3.nginx 还可以设置ip黑名单,限流,防盗链以及请求头,请求方法,https 等配置。很多需要依赖引用第三方模块进行配置。

标签: nginx

目录
相关文章
|
23天前
|
应用服务中间件 BI nginx
Nginx的location配置详解
【10月更文挑战第16天】Nginx的location配置详解
|
30天前
|
缓存 负载均衡 安全
Nginx常用基本配置总结:从入门到实战的全方位指南
Nginx常用基本配置总结:从入门到实战的全方位指南
247 0
|
3天前
|
存储 负载均衡 中间件
Nginx反向代理配置详解,图文全面总结,建议收藏
Nginx 是大型架构必备中间件,也是大厂喜欢考察的内容,必知必会。本篇全面详解 Nginx 反向代理及配置,建议收藏。
Nginx反向代理配置详解,图文全面总结,建议收藏
|
16天前
|
应用服务中间件 API nginx
nginx配置反向代理404问题
【10月更文挑战第18天】本文介绍了使用Nginx进行反向代理的配置方法,解决了404错误、跨域问题和302重定向问题。关键配置包括代理路径、请求头设置、跨域头添加以及端口转发设置。通过调整`proxy_set_header`和添加必要的HTTP头,实现了稳定的服务代理和跨域访问。
nginx配置反向代理404问题
|
10天前
|
应用服务中间件 网络安全 PHP
八个免费开源 Nginx 管理系统,轻松管理 Nginx 站点配置
Nginx 是一个高效的 HTTP 服务器和反向代理,擅长处理静态资源、负载均衡和网关代理等任务。其配置主要通过 `nginx.conf` 文件完成,但复杂设置可能导致错误。本文介绍了几个开源的 Nginx 可视化配置系统,如 Nginx UI、VeryNginx、OpenPanel、Ajenti、Schenkd nginx-ui、EasyEngine、CapRover 和 NGINX Agent,帮助简化和安全地管理 Nginx 实例。
|
20天前
|
缓存 负载均衡 应用服务中间件
Nginx配置
【10月更文挑战第22天】在实际配置 Nginx 时,需要根据具体的需求和环境进行调整和优化。同时,还需要注意配置文件的语法正确性和安全性。
36 7
|
21天前
|
域名解析 存储 缓存
DNS是什么?内网电脑需要配置吗?
【10月更文挑战第22天】DNS是什么?内网电脑需要配置吗?
77 1
|
29天前
|
前端开发 JavaScript 应用服务中间件
终极 Nginx 配置指南
本文介绍了Nginx的基本配置及其优化方法。首先,通过删除注释简化了Nginx的默认配置文件,使其更易于理解。接着,文章将Nginx配置文件分为全局块、events块和http块三部分进行详细解释。此外,还提供了如何快速上线网站、解决前端history模式404问题、配置反向代理、开启gzip压缩、设置维护页面、在同一IP上部署多个网站以及实现动静分离的具体配置示例。最后,附上了Nginx的基础命令,包括安装、启动、重启和关闭等操作。
|
1月前
|
负载均衡 应用服务中间件 nginx
Nginx的6大负载均衡策略及权重轮询手写配置
【10月更文挑战第9天】 Nginx是一款高性能的HTTP服务器和反向代理服务器,它在处理大量并发请求时表现出色。Nginx的负载均衡功能可以将请求分发到多个服务器,提高网站的吞吐量和可靠性。以下是Nginx支持的6大负载均衡策略:
135 7
|
1月前
|
缓存 前端开发 JavaScript
一、nginx配置
一、nginx配置
152 1

推荐镜像

更多