`

nginx 相关配置说明

阅读更多

nginx 中默认配置的说明:

 

    

#user administrator administrators;  #配置用户或者组,默认为nobody nobody。
#worker_processes 2;  #允许生成的进程数,默认为1
#pid /nginx/pid/nginx.pid;   #指定nginx进程运行文件存放地址
error_log log/error.log debug;  #制定日志路径,级别。这个设置可以放入全局块,http块,server块,级别以此为:debug|info|notice|warn|error|crit|alert|emerg
events {
    accept_mutex on;   #设置网路连接序列化,防止惊群现象发生,默认为on
    multi_accept on;  #设置一个进程是否同时接受多个网络连接,默认为off
    #use epoll;      #事件驱动模型,select|poll|kqueue|epoll|resig|/dev/poll|eventport
    worker_connections  1024;    #最大连接数,默认为512
}
http {
    include       mime.types;   #文件扩展名与文件类型映射表
    default_type  application/octet-stream; #默认文件类型,默认为text/plain
    #access_log off; #取消服务日志    
    log_format myFormat '$remote_addr–$remote_user [$time_local] $request $status $body_bytes_sent $http_referer $http_user_agent $http_x_forwarded_for'; #自定义格式
    access_log log/access.log myFormat;  #combined为日志格式的默认值
    sendfile on;   #允许sendfile方式传输文件,默认为off,可以在http块,server块,location块。
    sendfile_max_chunk 100k;  #每个进程每次调用传输数量不能大于设定的值,默认为0,即不设上限。
    keepalive_timeout 65;  #连接超时时间,默认为75s,可以在http,server,location块。

    upstream myserver {   
      server 127.0.0.1:7878;
      server 192.168.10.121:3333 backup;  #热备
    }
    error_page 404 https://www.baidu.com; #错误页
    server {
        keepalive_requests 120; #单连接请求上限次数。
        listen       4545;   #监听端口
        server_name  127.0.0.1;   #监听地址       
        location  ~*^.+$ {       #请求的url过滤,正则匹配,~为区分大小写,~*为不区分大小写。
           #root path;  #根目录
           #index vv.txt;  #设置默认页
           proxy_pass  http://myserver;  #请求转向mysvr 定义的服务器列表
           deny 127.0.0.1;  #拒绝的ip
           allow 172.18.5.54; #允许的ip           
        } 
    }
}    
  • 1、1.$remote_addr 与$http_x_forwarded_for 用以记录客户端的ip地址; 2.$remote_user :用来记录客户端用户名称; 3.$time_local : 用来记录访问时间与时区;4.$request : 用来记录请求的url与http协议;
    
      5.$status : 用来记录请求状态;成功是200, 6.$body_bytes_s ent :记录发送给客户端文件主体内容大小;7.$http_referer :用来记录从那个页面链接访问过来的; 8.$http_user_agent :记录客户端浏览器的相关信息;
    
    2、惊群现象:一个网路连接到来,多个睡眠的进程被同事叫醒,但只有一个进程能获得链接,这样会影响系统性能
    代理服务器相关配置:
  • include       mime.types;   #文件扩展名与文件类型映射表
        default_type  application/octet-stream; #默认文件类型,默认为text/plain
        #access_log off; #取消服务日志    
        log_format myFormat ' $remote_addr–$remote_user [$time_local] $request $status $body_bytes_sent $http_referer $http_user_agent $http_x_forwarded_for'; #自定义格式
        access_log log/access.log myFormat;  #combined为日志格式的默认值
        sendfile on;   #允许sendfile方式传输文件,默认为off,可以在http块,server块,location块。
        sendfile_max_chunk 100k;  #每个进程每次调用传输数量不能大于设定的值,默认为0,即不设上限。
        keepalive_timeout 65;  #连接超时时间,默认为75s,可以在http,server,location块。
        proxy_connect_timeout 1;   #nginx服务器与被代理的服务器建立连接的超时时间,默认60秒
        proxy_read_timeout 1; #nginx服务器想被代理服务器组发出read请求后,等待响应的超时间,默认为60秒。
        proxy_send_timeout 1; #nginx服务器想被代理服务器组发出write请求后,等待响应的超时间,默认为60秒。
        proxy_http_version 1.0 ; #Nginx服务器提供代理服务的http协议版本1.0,1.1,默认设置为1.0版本。
        #proxy_method get;    #支持客户端的请求方法。post/get;
        proxy_ignore_client_abort on;  #客户端断网时,nginx服务器是否终端对被代理服务器的请求。默认为off。
        proxy_ignore_headers "Expires" "Set-Cookie";  #Nginx服务器不处理设置的http相应投中的头域,这里空格隔开可以设置多个。
        proxy_intercept_errors on;    #如果被代理服务器返回的状态码为400或者大于400,设置的error_page配置起作用。默认为off。
        proxy_headers_hash_max_size 1024; #存放http报文头的哈希表容量上限,默认为512个字符。
        proxy_headers_hash_bucket_size 128; #nginx服务器申请存放http报文头的哈希表容量大小。默认为64个字符。
        proxy_next_upstream timeout;  #反向代理upstream中设置的服务器组,出现故障时,被代理服务器返回的状态值。error|timeout|invalid_header|http_500|http_502|http_503|http_504|http_404|off
        #proxy_ssl_session_reuse on; 默认为on,如果我们在错误日志中发现“SSL3_GET_FINSHED:digest check failed”的情况时,可以将该指令设置为off。
     nginx设置负载均衡的策略:
  •   轮询  : 访问顺序 s1 s2 s1 s2....

        

upstream mysvr { 
      server 127.0.0.1:80;
      server 127.0.0.2:80;       
    }

 

 

  •   加权轮询: 访问顺序 s1s2s2 s1s2s2 ....

  

upstream mysvr { 
      server 127.0.0.1:7878 weight=1;
      server 192.168.10.121:3333 weight=2;
}

 

 

  •  ip_hash 根据用户访问的ip的hash值来决定访问那个服务器

 

   

upstream mysvr { 
      server 127.0.0.1:7878; 
      server 192.168.10.121:3333;
      ip_hash;
    }

 

   关于负载均衡一个服务状态的值的说明:

   

    

    down,表示当前的server暂时不参与负载均衡。

    backup,预留的备份机器。当其他所有的非backup机器出现故障或者忙的时候,才会请求backup机器,因此这台机器的压力最轻。

    max_fails,允许请求失败的次数,默认为1。当超过最大次数时,返回proxy_next_upstream 模块定义的错误。

    fail_timeout,在经历了max_fails次失败后,暂停服务的时间。max_fails可以和fail_timeout一起使用。

   

upstream mysvr { 
      server 127.0.0.1:7878 weight=2 max_fails=2 fail_timeout=2;
      server 192.168.10.121:3333 weight=1 max_fails=2 fail_timeout=1;    
    }

 

   

分享到:
评论

相关推荐

    Nginx完整配置说明

    Nginx完整配置说明 Nginx是当前最流行的Web服务器软件之一,常用于搭建Web服务器、反向代理服务器、负载均衡器等。下面是Nginx的完整配置说明,涵盖基本配置、反向代理、FastCGI等方面的知识点。 一、基本配置 在...

    nginx搭建配置详细说明

    3.1. Nginx的主配置文件概述 3.1.1. 认识配置文件 3.1.2. nginx的配置文件结构 3.1.3. nginx的全局配置 3.2. events配置 3.3. http的配置 3.4. nginx重要指令之location 4. nginx中的rewrite 4.1. 什么是...

    Nginx配置文件详细说明

    在此记录下Nginx服务器nginx.conf的配置文件说明, 部分注释收集与网络. #运行用户 user www-data; #启动进程,通常设置成和cpu的数量相等 worker_processes 1; #全局错误日志及PID文件 error_log /var/log/...

    Nginx配置文件说明.

    2. **事件块**:这部分配置与网络连接处理有关,如选择事件模型(`use epoll`)和最大连接数(`worker_connections`): ``` events { use epoll; worker_connections 51200; } ``` 3. **HTTP块**:这是Nginx...

    02nginx动态配置.zip

    在修改Nginx配置文件后,应先检查语法是否正确。可以使用`nginx -t`或`sudo nginx -t`命令进行测试,如果返回`configuration file /etc/nginx/nginx.conf test is successful`,则说明配置无误。然后重启Nginx以使...

    nginx详细配置说明

    ### Nginx详细配置说明 #### 一、Nginx简介与重要性 Nginx是一款高性能的HTTP和反向代理服务器,同时也是一款IMAP/POP3/SMTP代理服务器。它以其稳定性、丰富的功能集、示例配置文件和低资源消耗而著称。在现代...

    Nginx配置文件说明

    以下是对标题和描述中提及的Nginx配置文件部分知识点的详细说明: 1. **基本配置** - `user www www`: 这行指定Nginx运行时使用的用户和组,通常为非root用户以提高安全性。 - `worker_processes 1`: 定义了Nginx...

    windows下 php+nginx配置详解

    以下是对"windows下 php+nginx配置详解"的详细说明。 首先,我们需要安装Nginx。Nginx是一款高性能的HTTP和反向代理服务器,以其稳定性和高并发处理能力著称。下载适用于Windows的Nginx安装包,然后按照安装向导...

    Nginx安装配置、Resin安装配置说明文档

    2) Nginx配置 - 1 - a)对c:\nginx\conf\nginx.conf文件进行配置: - 1 - b)常用的 Nginx 参数 - 3 - c)静态文件处理 - 4 - d)动态页面请求处理 - 4 - e)下面为nginx.conf配置实例: - 5 - f)Nginx 启动,停止等命令 ...

    nginx简单配置说明(开发人员了解)

    ### Nginx简单配置说明(开发人员了解) #### 概述 本文档旨在为开发人员提供一份简明的Nginx配置指南。通过本指南,读者可以了解到如何在本地环境中安装并配置Nginx,使其能够顺利运行。Nginx是一款高性能的HTTP...

    nginx的各项详细配置-超多注释

    Nginx配置项详解 - **server_name**: 指定服务器域名,可以是多个,支持通配符。 - **root**: 设置网站根目录,用于定位静态资源。 - **index**: 指定默认首页文件,如"index.html index.htm"。 - **listen**: ...

    NGINX-配置手册

    本指南主要聚焦于NGINX代理Tomcat应用服务器的相关配置,包括但不限于设置NGINX为系统服务、修改NGINX配置文件以及优化负载均衡策略等核心内容。 **文档约定:** - 使用统一的文档模板,以便于后续管理和更新。 - ...

    nginx配置的全说明

    nginx配置的全说明,对nginx配置不太清楚的小伙伴可以下载了

    Nginx如何配置url_hash转发方式.docx

    在本文中,我们将深入探讨如何在Nginx服务器上配置URL哈希(url_hash)转发方式,这是一种负载均衡策略,用于...请注意,实际部署时,你需要根据自己的服务器环境和需求调整配置文件中的IP地址、端口以及其它相关参数。

    ubuntu+nginx安装配置应用说明

    对于更高级的配置,如SSL/TLS支持、反向代理、负载均衡等,你需要在Nginx配置文件中添加相应的指令。例如,为实现HTTPS,你需要获取SSL证书,并在服务器块中添加如下内容: ```nginx server { listen 443 ssl; ...

    nginx配置文件说明[参考].pdf

    【Nginx配置详解】 Nginx是一款高性能的HTTP和反向代理服务器,因其轻量级、高效能和高并发处理能力,在软件开发领域中被广泛使用。与Apache服务器相比,Nginx采用异步非阻塞的事件驱动模型,这使得它在处理大量...

    Nginx配置SSL自签名证书的方法

    3. **编辑Nginx配置文件**:找到Nginx的配置文件,通常是`/etc/nginx/nginx.conf`或`/usr/local/nginx/conf/nginx.conf`。添加一个新的`server`块,配置如下: ```nginx server { listen 80; listen 443 ssl; # ...

    Nginx 资源配置及说明

    Nginx配置文件是一个基础模板,用于设置和优化Nginx服务器。它帮助定义服务器运行的用户、工作进程数、日志记录位置等基本参数。配置文件还包含HTTP服务设置,如文件类型定义、日志格式、sendfile优化和gzip压缩等,...

    nginx配置详细说明

    非常有用, nginx配置详细说明。欢迎大家下载使用。

Global site tag (gtag.js) - Google Analytics