• 干货 | Nginx 配置文件详解


    一个执着于技术的公众号

    前言

    在前面章节中,我们介绍了nginx是什么、如何编译安装nginx及如何彻底卸载nginx软件。

    干货|给小白的 Nginx 10分钟入门指南

    Nginx编译安装及常用命令

    完全卸载nginx的详细步骤

    今天就带大家一起掌握下nginx服务配置文件

    nginx配置文件介绍

    1、nginx目录结构介绍

    2、nginx核心配置文件nginx.conf

    在上面nginx服务目录介绍中;

    其中/usr/local/nginx/conf/nginx.conf是nginx服务主配置文件,也是其核心配置文件,是我们今天学习的重点。

    我们去掉包含#号和空号的内容,大致看下nginx.conf配置文件结构

    会不会看起来有点眼花?我再提供一张无注释的原图,对比下吧

    想必你已经看出来了,我们把nginx.conf配置文件分为三部分:

    第一部分:全局块

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

    #定义Nginx运行的用户和用户组

    user nginx nginx;

     

    #nginx进程数,建议设置为等于CPU总核心数

    worker_processes 8;

     

    #全局错误日志定义类型,[ debug | info | notice | warn | error | crit ]

    error_log /var/log/nginx/error.log info;

     

    #进程文件

    pid /var/run/nginx.pid;

     

    #nginxworker最大打开文件数,可设置为系统优化后的ulimit -n的结果

    worker_rlimit_nofile 65535;

    第二部分:events块

    events

    {

    #epoll模型是Linux 2.6以上内核版本中的高性能网络I/O模型,如果跑在FreeBSD上面,就用kqueue模型

    use epoll;

    #单个worker进程最大连接数(nginx最大连接数=worker连接数*进程数)

    worker_connections 65535;

    }

    第三部分:http块

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

    前面提到,我们将http块分为:http全局块server块

    我们先看下http全局块配置

    http 

    {

    include mime.types; #nginx支持的媒体类型库文件

    default_type application/octet-stream; #默认媒体文件类型

    #charset utf-8; #默认编码

    server_names_hash_bucket_size 128; #服务器名字的hash表大小

    client_header_buffer_size 32k; #上传文件大小限制

    sendfile on; #开启高效文件传输模式,实现内核零拷贝

    autoindex off; #开启目录列表访问,适合下载服务器,默认关闭。

    keepalive_timeout 120; #长连接超时时间,单位是秒

    }   

    我们再看下server块的配置,即虚拟主机的配置

    server #网站配置区域

    {

       listen 80;     #默认监听80端口

        server_name www.lulu.com;    #提供服务的域名主机名

        location / { 

                root html;   

                #站点根目录(这里html是相对路径,默认网站根目录为:/usr/local/nginx/html)

                index index.thml index.htm;  #默认首页文件,多个用空格分开

        }

        error_page 500 502 503 504  /50x.html;    #出现对应http状态码时,使用50x.html回应客户

        location = /50x.thml {

        root    html;     #指定对应目录

        }

    
    
    
    
      往期精彩  ◆  干货 | 给小白的Nginx10分钟入门指南◆  什么是集群?看完这篇你就知道啦!◆  干货 | Linux平台搭建网关服务器◆  干货 | 理解正向代理与反向代理的区别◆  硬核科普服务器硬盘组成与基本原理◆  一文带你速懂虚拟化KVM和XEN◆  实战 | Hadoo大数据集群搭建
    
    
    
    十年磨一剑
  • 相关阅读:
    Secret-field团队 Alpha冲刺阶段博客记录
    alpha阶段测试报告
    第七周会议记录
    第六周会议记录
    《Secret—field团队》第一次作业:公课网课程评价系统
    linux下用hadoop streaming 跑php总是jobs fail!
    php请求nginx服务器返回403
    Linux达人养成计划I——文件搜索命令
    Linux达人养成计划I——链接命令
    Linux达人养成计划I——常见目录作用
  • 原文地址:https://www.cnblogs.com/qinlulu/p/13204836.html
Copyright © 2020-2023  润新知