Nginx基本配置

本文介绍了Nginx的配置文件结构,包括全局区域、events、http、server和location区域,并详细讲解了配置运行Nginx服务的用户(组)、worker process数、进程PID存放路径和错误日志存放路径等相关配置指令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、Nginx配置文件结构

之前便讲过,默认的Nginx配置文件存放在安装目录conf中,主配置文件为nginx.conf,默认的配置文件是比较复杂,不过结构和内容还是比较清晰,在此简化出一个最基本的配置:

#全局区域
worker_processes 1;  #全局区域

#events区域
events {  
    worker_connections 1024;
}

#http区域
http {  
    include mine.types;
    default_type application/octet-stream;
    
    sendfile on;
    keepalive_timeout 65;
    
    #server区域
    server { 
        listen 80;
        server_name localhost;
        
        #location区域
        location / {
            root html;
            index index.html index.htm;
        }
        
        error_page 500 502 503 504 /50x.html;
        
        location = /50x.html {
            root html;
        }
    }
}

从上面的配置文件内容,我们可以归纳nginx.conf的基本结构为:

#全局区域

#events区域
events {
    
}

#http区域
http {
    #server区域
    server {
        #location区域
        location [PATTERN] {
            ...
        }
        
        location [PATTERN] {
            ...
        }
    }
    
    server {
        #location区域
        location [PATTERN] {
            ...
        }
        
        location [PATTERN] {
            ...
        }
    }
}

  • 全局区域:全局区是默认配置文件从开始到events区域之间的内容,主要设置Nginx整体运行的配置指令,放在这个地方的指令是的作用域是全局的。通常用来配置服务器的用户(组),允许开启的work进程数,我们在第二节讲过,默认的配置开启的是一个master进程和一个work进程,此外还可以设置进程PID的存放路径,日志的存放路径已经配置文件引入等等。
  • events区域:以events为key包含的对象便是events区域。该区域主要用于每个work进程可以支持的最大连接数,是否允许同时接受多个网络连接,选用哪一种事件驱动(后续会介绍)等等。
  • http区域:以http为key包含的对象便是http区域,该区域是整个配置最为重要和复杂的部分,后续讲到的压缩、代理、缓存、日志等等给你都会在这里涉及。此外还可以在这里引进子配置文件。
  • server区域:以http为key包含的对象便是http区域,该区域必须在http中。事实上这么将并不严谨,目前就先这么认为。一个server代表一个虚拟服务。每个http可以包含多个server,这就意味者我们一台Nginx是可以对外提供多个服务的。
  • location区域:严格来讲location是server的一个指令,而不能称之为区域。在此可以针对Nginx接收到的请求字符串进行匹配做相应的处理,例如重定向、数据缓存、或者应答控制等。

2、Nginx配置指令

2.1 配置运行Nginx服务的用户(组)

该配置会涉及Nginx启动,缓存文件,读取文件等权限。该指令只能存在全局区域。

user <<USER>> <<GROUP>>;

USER: 系统用户,必填

GROUP: 系统用户组,选填

举例

user root

2.2 配置允许生成的worker process数

worker process数是Nginx实现并发服务器的关键所在,理论上worker process数越大,支持的并发越大,实际上会受限于硬件资源。前面我们提过,Nginx启动时,默认会有一个work进程,如果worker_process此参数为5,那么启动时会有5个work进程。该指令只能存在全局区域。

worker_process <<number | auto>>;

number: 指定的数量

auto: 设置此值,Nginx进程会自动检测

举例

worker_process 5

2.3 配置Nginx进程PID存放路径

Nginx启动之后会有pid文件记录这个服务进程,该文件默认存放在logs目录下。可以通过一下指令来修改该文件的存放路径。该指令只能存在全局区域。

pid <<path>>

path: 路径说明,可以为相对路径也可以是绝对路径,注意必须具体到文件名称

举例

pid /sbin/nginx.pid

2.4 配置错误日志存放路径

指定该配置之后,Nginx服务会将运行中所有的错误日志记录到该文件。支持指定错误日志等级。值得注意的是:运行Nginx服务的用户必须对该日志文件有写入权限。该指令能存在全局区域、http区域、server区域。

error_log <<file | stderr>> [ debug | info | notice | warn | error | crit | alert | emerg ]

举例

error_log logs/error.log error
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值