nginx 配置文件详解

nginx 配置文件详解nginx 配置文件分为三部分 一 全局块 从配置文件开始到 events 块之间的内容 主要会配置一些影响 nginx 服务器整体运行的配置指令 主要包括配置运行 nginx 服务器的用户 组 允许生成的 workerproces 数 进程 PID 存放路径 日志存放路径和类型以及配置文件的引入等 比如文件第一行的配置的 Worker processes1 这是 nginx 服务器并发处理服务的关键配置 worker process 值越大 可以支持的并发处理量也越多 但是会受到硬件

nginx 配置文件分为三部分:

一、全局块:从配置文件开始到events块之间的内容,主要会配置一些影响nginx服务器整体运行的配置指令,主要包括配置运行nginx服务器的用户(组)、允许生成的worker process数,进程PID存放路径、日志存放路径和类型以及配置文件的引入等。

   比如文件第一行的配置的;

   Worker_processes   1;

   这是nginx服务器并发处理服务的关键配置,worker_process 值越大,可以支持的并发处理量也越多,但是会受到硬件、软件等设备的制约。

二、events块:

比如文件中的配置:

events{

     worker_connectiaons  1024;

}

events块涉及的指令主要影响nginx服务器与用户的网络连接,常用的设置包括是否开启对多work process下的网络连接进行序列化,是否允许同时接收多个网络连接,选取哪种事件驱动模型来处理连接请求,每个word process 可以同时支持的最大连接数等。

上述的例子表示每个work process 支持的最大连接数为1024

这部分的配置对nginx的性能影响较大,在实际中应该灵活配置

三、htttp块:

    http {

    include       mime.types;

    default_type  application/octet-stream;

    #log_format  main  ‘$remote_addr – $remote_user [$time_local] “$request” ‘

    #                  ‘$status $body_bytes_sent “$http_referer” ‘

    #                  ‘”$http_user_agent” “$http_x_forwarded_for”‘;

    #access_log  logs/access.log  main;

    sendfile        on;

    #tcp_nopush     on;

    #keepalive_timeout  0;

    keepalive_timeout  65;

    #gzip  on;

    server {

        listen       80;

        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {

            root   html;

            index  index.html index.htm;

        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html

        #

        error_page   500 502 503 504  /50x.html;

        location = /50x.html {

            root   html;

        }

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80

        #

        #location ~ \.php$ {

        #    proxy_pass   http://127.0.0.1;

        #}

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000

        #

        #location ~ \.php$ {

        #    root           html;

        #    fastcgi_pass   127.0.0.1:9000;

        #    fastcgi_index  index.php;

        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;

        #    include        fastcgi_params;

        #}

        # deny access to .htaccess files, if Apache’s document root

        # concurs with nginx’s one

        #

        #location ~ /\.ht {

        #    deny  all;

        #}

    }

    # another virtual host using mix of IP-, name-, and port-based configuration

    #

    #server {

    #    listen       8000;

    #    listen       somename:8080;

    #    server_name  somename  alias  another.alias;

    #    location / {

    #        root   html;

    #        index  index.html index.htm;

    #    }

    #}

    # HTTPS server

    #

    #server {

    #    listen       443 ssl;

    #    server_name  localhost;

    #    ssl_certificate      cert.pem;

    #    ssl_certificate_key  cert.key;

    #    ssl_session_cache    shared:SSL:1m;

    #    ssl_session_timeout  5m;

    #    ssl_ciphers  HIGH:!aNULL:!MD5;

    #    ssl_prefer_server_ciphers  on;

    #    location / {

    #        root   html;

    #        index  index.html index.htm;

    #    }

    #}

}

  

这算是nginx服务器配置中最频繁的部分,代理、缓存和日志定义等绝大多数功能和第三方模块的配置都在这里。

需要注意的是:http块包括http全局块、server块。

(1)Htttp 全局块:

http全局块配置的指令包括文件引入、MIME-TYPE定义、日志自定义、连接超时时间、单链接请求数上限等。

 (2)server块

     这块和虚拟主机有密切关系、虚拟主机从用户角度看,和一台独立的硬件主机是完全一样的,该技术的产生是为了节省互联网服务器硬件成本。

每个htttp块可以包括多个server块,而每个server块就相当于一个虚拟主机。而每个server块也分为全局块,以及可以同时包含多个location块。

  1. 全局server块

    最常见的配置是本虚拟机主机的监听配置和本虚拟主机的名称或ip配置

  1. location 块

一个server块可以配置多个location块。这块的主要作用是基于nginx服务器接收到的请求字符串(例如server_name/uri-string),对虚拟主机名称(也可以是ip 别名)之外的字符串(例如前面的/uri-sting)进行匹配,对特定的请求进行处理。地址定向、数据缓存和应答控制等功能,还有许多第三方模块的配置也在这里运行。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/216715.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 上午11:14
下一篇 2026年3月18日 上午11:14


相关推荐

  • 关系模型的相关术语[通俗易懂]

    关系模型的相关术语[通俗易懂]关系模型的相关术语

    2022年4月21日
    38
  • 海量数据处理分析

    海量数据处理分析 笔者在实际工作中,有幸接触到海量的数据处理问题,对其进行处理是一项艰巨而复杂的任务。原因有以下几个方面:一、数据量过大,数据中什么情况都可能存在。如果说有10条数据,那么大不了每条去逐一检查,人为处理,如果有上百条数据,也可以考虑,如果数据上到千万级别,甚至过亿,那不是手工能解决的了,必须通过工具或者程序进行处理,尤其海量的数据中,什么情况都可能存在,例如,数据中某处格式出了问题

    2022年6月23日
    37
  • js算法初窥04(算法模式01-递归)「建议收藏」

    终于来到了有点意思的地方——递归,在我最开始学习js的时候,基础课程的内容就包括递归,但是当时并不知道递归的真正意义和用处。我只是知道,哦…递归是自身调用自身,递归要记得有一个停止调用的条件。那时

    2022年3月25日
    47
  • matlab中Regionprops函数详解——度量图像区域属性

    matlab中Regionprops函数详解——度量图像区域属性声明:原文链接https://blog.csdn.net/langb2014/article/details/49886787点击打开链接,仅学习使用,写的很不错。Regionprops:用途是getthepropertiesofregion,即用来度量图像区域属性的函数。语法:STATS=regionprops(L,properties)描述:测量标注矩阵L中每一个…

    2025年7月6日
    4
  • ifndef/define/endif使用详解

    ifndef/define/endif使用详解想必很多人都看过 头文件中的 nbsp ifndef define endif nbsp 防止该头文件被重复引用 但是是否能理解 被重复引用 是什么意思 是不能在不同的两个文件中使用 include 来包含这个头文件吗 如果头文件被重复引用了 会产生什么后果 是不是所有的头文件中都要加入 ifndef define endif nbsp 这些代码 nbsp nbsp 其实 被重复引用 是指一个头文件在同一个 cpp 文件中

    2026年3月26日
    2
  • 用 VIF 方法消除多维数据中的多重共线性

    用 VIF 方法消除多维数据中的多重共线性多元线性回归是我们在数据分析中经常用到的一个方法,很多人在遇到多维数据时基本上无脑使用该方法,而在用多元线性回归之后所得到的结果又并不总是完美的,其问题实际上并不出在方法上,而是出在数据…

    2022年5月29日
    55

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号