Nginx 配置文件中的指令含义

本文详细解析了Nginx配置文件的各项指令,如worker_processes、worker_connections等,介绍了如何通过这些指令高效配置Nginx服务器。

默认配置指令

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  localhost;
        location / {
            root   html;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

以上是一个完整的默认 nginx 配置文件的展示。

指令说名
worker_processes配置 nginx 的工作进程数,一般设为 CPU 总核数或者总核数的 2 倍
worker_connections配置 nginx 允许单个进程并发连接的最大请求数
include引入配置文件
default_type设置默认文件类型
sendfile默认为 on ,表示开启高效的文件传输模式
keepalive_timeout设置长连接超时时间 ( 单位: s)
listen监听端口
server_name设置主机域名
root设置主机站点根目录地址
index指定默认索引文件
error_page自定义错误页面
events控制 nginx 处理连接方式
httpnginx 处理 http 请求的主要配置块,大多数配置都在这里进行
servernginx 主机配置块,用于配置多个虚拟主机
locationserver 中对应目录级别的控制块,可以有多个
server 和 location 的区别

server 是用来配置虚拟主机的,我们可以理解成一个可访问的域名(包括子域名)是一台虚拟主机,比如,www.xiaobinqt.cn 和 www.blog.xiaobinqt.cn 这 2 个可访问的域名可以是 2 台虚拟主机。
location 块是在 server 中存在的,是来实现复杂的访问控制的。比如禁止访问虚拟主机(网站根目录)下 auth 目录中以 .html 结尾的文件,就可以在 server 块中写一个这样的 location 块:

  location ~^/auth/.*\.html$ {
     deny all;
 }

那么访问 www.xiaobinqt.cn/auth/xxx.html 或是 www.xiaobinqt.cn/auth/bbb/xxx.html 都是不允许的,都是显示 403 Forbidden。

查看Nginx配置文件指令可以采用以下方法: ### 直接查看配置文件 Nginx 配置文件一般在 `/etc/nginx/nginx.conf` 或者 `/usr/local/nginx/conf/nginx.conf`,可以使用文本编辑器(如 `vim` 或 `nano`)直接打开查看,例如使用 `vim` 打开默认配置文件: ```bash vim /etc/nginx/nginx.conf ``` Nginx 支持通过 `include` 指令引入其他配置文件,像常见的 `include /etc/nginx/conf.d/*.conf;` 会引入 `/etc/nginx/conf.d/` 目录下的所有 `.conf` 文件,也需要查看这些被引入的文件内容。 ### 查看配置文件结构和常用指令 Nginx 配置文件由全局块、事件块、http 块、server 块和 location 块组成,各块有不同的配置指令。例如,全局配置参数中的用户与进程设置使用 `user` 指令指定 Nginx 工作进程的运行用户和用户组,`worker_processes` 决定工作进程的数量;`error_log` 定义错误日志的路径和级别,`pid` 指定 Nginx 主进程的 PID 文件路径等。在 `events` 块中,`worker_connections` 用于设置每个工作进程允许的最大连接数 [^2][^5]。 ### 查看指定文件路径相关指令 Nginx 指定文件路径的方式有 `root`、`alias`、`rewrite`。`root` 语法为 `root path`,默认值是 `root html`,可在 `http`、`server`、`location`、`if` 配置段使用;`alias` 语法为 `alias path`,用于 `location` 配置段 [^4]。 ### 查看配置文件示例 可以参考一些配置文件示例来理解指令的使用,如配置前端代码的静态文件服务时,添加的 `server` 块示例: ```nginx server { listen 80; server_name your.domain.com; location / { root /var/www/frontend; index index.html index.htm; try_files $uri $uri/ /index.html; } # 其他配置... } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值