• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Nginx的配置详解(附代码)

php 搞代码 4年前 (2022-01-21) 31次浏览 已收录 0个评论

本篇文章给大家带来的内容是关于Nginx的配置详解(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

常用配置项

在工作中,我们与 Nginx 打交道更多的是通过其配置文件来进行。那么掌握这些配置项各自的作用就很有必要了。

首先,nginx.conf 的内容通常是这样的:

...              ...            #核心摸块events {        #事件模块    ...}http {     # http 模块    server {      # server块             location [PATTERN] {  # location块                    ...        }        location [PATTERN] {                    ...        }    }    server {      ...    }    }mail {     # mail 模块          server {    # server块          ...    }}

我们依次看一下每个模块一般有哪些配置项:

核心模块

user admin; #配置用户或者组。worker_processes 4; #允许生成的进程数,默认为1 pid /nginx/pid/nginx.pid; #指定 nginx 进程运行文件存放地址 error_log log/error.log debug; #错误日志路径,级别。

事件模块

events {     accept_mutex on; #设置网路连接序列化,防止惊群现象发生,默认为on         multi_accept on; #设置一个进程是否同时接受多个网络连接,默认为off         use epoll; #事件驱动模型select|poll|kqueue|epoll|resig        worker_connections 1024; #最大连接数,默认为512}

http 模块

http {    include       mime.types;   #文件扩展名与文件类型映射表        default_type  application/octet-stream; #默认文件类型,默认为text/plain        access_log off; #取消服务日志        sendfile on;   #允许 sendfile 方式传输文件,默认为off,可以在http块,server块,location块。        sendfile_max_chunk 100k;  #每个进程每次调用传输数量不能大于设定的值,默认为0,即不设上限。        keepalive_timeout 65;  #连接超时时间,默认为75s,可以在http,server,location块。    server     {            keepalive_requests 120; #单连接请求上限次数。                        listen 80; #监听端口                        server_name  127.0.0.1;   #监听地址                              index index.html index.htm index.php;                        <i>本文@来#源gaodai$ma#com搞$$代**码网</i><strong>搞代gaodaima码</strong>root your_path;  #根目录                      location ~ \.php$            {                  fastcgi_pass unix:/var/run/php/php7.1-fpm.sock;                                    #fastcgi_pass 127.0.0.1:9000;                                    fastcgi_index index.php;                                    include fastcgi_params;            }    }}

配置项解析

  • worker_processes
    worker_processes 用来设置 Nginx 服务的进程数。该值推荐使用 CPU 内核数。
  • worker_cpu_affinity
    worker_cpu_affinity 用来为每个进程分配CPU的工作内核,参数有多个二进制值表示,每一组代表一个进程,每组中的每一位代表该进程使用CPU的情况,1代表使用,0代表不使用。所以我们使用 worker_cpu_affinity 0001 0010 0100 1000;来让进程分别绑定不同的核上。默认情况下worker进程不绑定在任何一个CPU上。
  • worker_rlimit_nofile

    设置毎个进程的最大文件打开数。如果不设的话上限就是系统的 ulimit –n的数字,一般为65535。

  • worker_connections

    设置一个进程理论允许的最大连接数,理论上越大越好,但不可以超过 worker_rlimit_nofile 的值。

  • use epoll

    设置事件驱动模型使用 epoll。epoll 是 Nginx 支持的高性能事件驱动库之一。是公认的非 常优秀的事件驱动模型。

  • accept_mutex off

    搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
    转载请注明原文链接:Nginx的配置详解(附代码)

    喜欢 (0)
    [搞代码]
    分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址