干货 | Nginx 配置文件详解
一个执着于技术的公众号
前言
在前面章节中,我们介绍了nginx是什么、如何编译安装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 配置文件详解的更多相关文章
- nginx之旅(第一篇):nginx下载安装、nginx启动与关闭、nginx配置文件详解、nginx默认网站
一.nginx下载安装 版本nginx 1.15.5 系统环境centos7.5(本机ip192.168.199.228) 关闭selinux 和防火墙firewall 1.下载 wget http: ...
- 一、Nginx配置文件详解
配置文件介绍 主要有两部分:分别是 main:主体部分 http{}:虚拟主机配置部分 配置指令主要以分号结尾:配置语法:directive value1 [value2 ....] 支持使用的变量 ...
- Nginx系列(10)- Nginx配置文件详解
nginx文件结构 ... #全局块 events { #events块 ... } http #http块 { ... #http全局块 server #server块 { ... #server全 ...
- Nginx配置文件详解
Nginx是一款面向性能设计的HTTP服务器,相较于Apache.lighttpd具有占有内存少,稳定性高等优势. ######Nginx配置文件nginx.conf中文详解##### #定义Ngin ...
- Nginx教程(五) Nginx配置文件详解
一. Nginx配置文件nginx.conf中文详解 #定义Nginx运行的用户和用户组 user www www; #nginx进程数,建议设置为等于CPU总核心数. worker_processe ...
- Nginx教程(五) Nginx配置文件详解 (转)
一. Nginx配置文件nginx.conf中文详解 #定义Nginx运行的用户和用户组 user www www; #nginx进程数,建议设置为等于CPU总核心数. worker_processe ...
- Nginx:Nginx配置文件详解
Nginx是一款面向性能设计的HTTP服务器,相较于Apache.lighttpd具有占有内存少,稳定性高等优势. 如下是Nginx的配置详解: ######Nginx配置文件nginx.conf中文 ...
- Nginx配置文件详解与优化建议
1.概述 今天来详解一下Nginx的配置文件,以及给出一些配置建议,希望能对大家有所帮助. 2.nginx.conf 1)配置文件位置 nginx 安装目录的 conf 文件夹下,例如:/usr/lo ...
- nginx配置文件详解(三)
nginx配置文件详细解析 nginx安装目录: /usr/local/nginx 配置文件: /usr/local/nginx/conf 目录下的 nginx.conf文件 nginx优化方法1 ...
随机推荐
- nginx简介&nginx基本配置和优化
一.nginx简介 1.nginx的发展 Nginx是俄罗斯人编写的一款高性能HTTP和反向代理服务器.Nginx能够选择高效的epoll(Linux2.6内核).kqueue(FreeBSD).ev ...
- Spring 配置文件 ?
Spring 配置文件是个 XML 文件,这个文件包含了类信息,描述了如何配置它们,以及如何相互调用.
- 我们能在 Switch 中使用 String 吗?
从 Java 7 开始,我们可以在 switch case 中使用字符串,但这仅仅是一个语法 糖.内部实现在 switch 中使用字符串的 hash code. 30.Java 中的构造器链是什么? ...
- 【Python自动化Excel】Python与pandas字符串操作
Python之所以能够成为流行的数据分析语言,有一部分原因在于其简洁易用的字符串处理能力. Python的字符串对象封装了很多开箱即用的内置方法,处理单个字符串时十分方便:对于Excel.csv等表格 ...
- #define的3种用法详解
1.#define 的作用 在C或C++语言源程序中允许用一个标识符来表示一个字符串,称为"宏".被定义为"宏"的标识符称为"宏名".在编译 ...
- 阿里云、腾讯云、CentOS下的MySQL的安装与配置详解
一. 安装 查看是否已安装 # 查看MySQL版本 mysql --version # 查看MySQL相关文件 whereis mysql 若已安装,卸载方法如下 # 卸载MySQL yum remo ...
- GoLang数组切片
1. 数组1.1 如何定义数组同java数组一样,数组是一组内存连续且类型相同的数据组成 //不初始化初始值默认为0 var arr1 = [5]int{} var arr2 = [5]int{1,2 ...
- MySQL优化篇系列文章(二)——MyISAM表锁与InnoDB锁问题
我可以和面试官多聊几句吗?只是想... MySQL优化篇系列文章(基于MySQL8.0测试验证),上部分:优化SQL语句.数据库对象,MyISAM表锁和InnoDB锁问题. 面试官:咦,小伙子,又来啦 ...
- 【java】密码检查
[问题描述] 开发一个密码检查软件,密码要求: 长度超过8位 包括大小写字母.数字.其它符号,以上四种至少三种 不能有相同长度超2的子串重复 [输入形式] 一组或多组长度超过2的子符串.每组占一行 [ ...
- Uncaught TypeError: document.getElementsById is not a function
今天博主终于开始攻关javascript(俗称js)了,不过要注意了,它和java可是一丁点关系都没有,就像老婆饼和老婆一样. 下面就让我们来讨论一下博主这次犯下的低级错误吧 一.背景(解决方法在文末 ...