一个执着于技术的公众号

前言

在前面章节中,我们介绍了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大数据集群搭建

干货 | Nginx 配置文件详解的更多相关文章

  1. nginx之旅(第一篇):nginx下载安装、nginx启动与关闭、nginx配置文件详解、nginx默认网站

    一.nginx下载安装 版本nginx 1.15.5 系统环境centos7.5(本机ip192.168.199.228) 关闭selinux 和防火墙firewall 1.下载 wget http: ...

  2. 一、Nginx配置文件详解

    配置文件介绍 主要有两部分:分别是 main:主体部分 http{}:虚拟主机配置部分 配置指令主要以分号结尾:配置语法:directive value1 [value2 ....] 支持使用的变量 ...

  3. Nginx系列(10)- Nginx配置文件详解

    nginx文件结构 ... #全局块 events { #events块 ... } http #http块 { ... #http全局块 server #server块 { ... #server全 ...

  4. Nginx配置文件详解

    Nginx是一款面向性能设计的HTTP服务器,相较于Apache.lighttpd具有占有内存少,稳定性高等优势. ######Nginx配置文件nginx.conf中文详解##### #定义Ngin ...

  5. Nginx教程(五) Nginx配置文件详解

    一. Nginx配置文件nginx.conf中文详解 #定义Nginx运行的用户和用户组 user www www; #nginx进程数,建议设置为等于CPU总核心数. worker_processe ...

  6. Nginx教程(五) Nginx配置文件详解 (转)

    一. Nginx配置文件nginx.conf中文详解 #定义Nginx运行的用户和用户组 user www www; #nginx进程数,建议设置为等于CPU总核心数. worker_processe ...

  7. Nginx:Nginx配置文件详解

    Nginx是一款面向性能设计的HTTP服务器,相较于Apache.lighttpd具有占有内存少,稳定性高等优势. 如下是Nginx的配置详解: ######Nginx配置文件nginx.conf中文 ...

  8. Nginx配置文件详解与优化建议

    1.概述 今天来详解一下Nginx的配置文件,以及给出一些配置建议,希望能对大家有所帮助. 2.nginx.conf 1)配置文件位置 nginx 安装目录的 conf 文件夹下,例如:/usr/lo ...

  9. nginx配置文件详解(三)

    nginx配置文件详细解析 nginx安装目录:  /usr/local/nginx 配置文件:  /usr/local/nginx/conf 目录下的 nginx.conf文件 nginx优化方法1 ...

随机推荐

  1. Protected 修饰符

    Protected 修饰的变量和方法,在子类中可见.所有的变量和方法,子类都继承( private 也是).父类的变量和方法在子类实例中预留内存空间. Private 成员不能被子类实例引用.构造方法 ...

  2. servlet中的HttpServletRequest对象

    HttpServletRequest对象表示客户端浏览器发起的请求,当客户端浏览器通过HTTP协议访问服务器时,Tomcat会将HTTP请求中的所有信息解析并封装在HttpServletRequest ...

  3. 14_Nonlinear Basic Feedback Stabilization_非线性系统稳定性设计

    非线性系统线性化的方式:泰勒展开近似线性化(2_线性化_泰勒级数_泰勒公式_Linearization).反馈线性化,本文使用的是反馈线性化 从图中可知道输入u非常大达到了900多,所以直接使用u消去 ...

  4. 微信小程序黑客马拉松即将开始,来做最酷的 Mini Program Creators!

    微信小程序黑客马拉松正式启动 近日,小程序斩获一项世界级殊荣--作为一项全新的技术和应用创新,小程序首次获选世界互联网领先科技成果.目前小程序应用数量已超过 100 万,覆盖了 200 多个细分行业, ...

  5. VueJs单页应用实现微信网页授权及微信分享功能

    在实际开发中,无论是做PC端.WebApp端还是微信公众号等类型的项目的时候,或多或少都会涉及到微信相关的开发,最近公司项目要求实现微信网页授权,并获取微信用户基本信息的功能及微信分享的功能,现在总算 ...

  6. 前端面试题整理——Javascript基础

    常见值类型: let a; //undefined let s = 'abc'; let n = 100; let b = true; let sb = Symbol('s'); let nn = N ...

  7. 理解Android Framework

    一 . Android 系统架构 Android是一个包括操作系统,中间件和关键应用的移动设备软件堆: 作为一个开源的软件,android包含了众多的功能和庞大的代码,他的代码基于linux. 1. ...

  8. 去掉有定位的left值

    left: initial;   一开始就是初始(默认值)的意思,就可以解决定位的left啦

  9. docker搭建cordova 11环境

    cordova@11 依赖环境: Java_jdk@1.8.0 Nodejs@12.22.9 android-sdk Build-tools 28 API 28 apache-ant@1.10.12 ...

  10. Unity通过脚本创建Mesh(网格)

    ##1.创建一个带Mesh的物体 Unity中的网格作为组件不能脱离物体单独存在 新建脚本CreateMesh public class CreateMesh: MonoBehaviour { voi ...