nginx 主运行配置详解(nginx.conf)
#==基础配置==#
user nginx;
#设置运行用户,当运行NGINX时,进程所使用的用户,则进程拥有该用户对文件或目录的操作权限。
worker_processes 4;
#设置工作进程数量,一般情况下工作进程数等于CPU核心数。
worker_cpu_affinity 0001 0010 0100 1000;
#设置工作进程绑定CPU核心,一个工作进程使用一个CPU核心,可以减少进程频繁切换导致CPU处理所导致的资源损
#耗。"0001"四位数表示CPU有四个核心,"1"在第几位表示使用第几个核心。
worker_rlimit_nofile 102400;
#设置每个工作进程可同时打开的文件描述符数量。在Linux系统中默认情况下为"1024",我们可以通过
#"ulimit -a |grep 'open files'"命令查看,设置此值可突破并发文件数量限制。
error_log /var/log/nginx/error.log error;
#设置错误日志文件路径,可设置错误日志记录的级别。
#错误日志级别有:
# debug 调试,将记录详细的大量调试信息,适合开发人员开启
# info 信息,记录更多的通知信息,不重要的
# notice 通知,记录通知信息,不重要的
# warn 警告,记录警告信息
# error 错误,记录错误信息
# crit 严重,只记录非常严重的错误信息
pid /run/nginx.pid;
#设置进程文件路径,运行NGINX会生成一个PID进程文件到指定路径,用于保证进程持久化运行。
include /usr/share/nginx/modules/*.conf;
#设置包含的其他配置文件,一些加载NGINX动态模块相关配置文件,由"load_moule"指令控制动态模块的加载。
#==事件配置==#
events {
worker_connections 102400;
#设置每个Worker进程可处理的并发连接数量,可根据需求合理配置此值。建议
#与"worker_rlimit_nofile"指令的值一致或更小。
}
#==核心配置==#
http {
include /etc/nginx/mime.types;
#设置还包含其他配置文件,“mime.types”文件,记录MIME类型与文件后缀的映射关系,MIME类型是互联网媒
#体类型的缩写。所以该文件是用于WEB服务可以识别的、允许用户上传的这些后缀相关的媒体文件。
default_type text/plain;
#设置默认MIME类型,当用户上传一个文件,非“mime.types”文件中记录的后缀文件时的处理方式,则将该文
#件识别默认指定MIME类型的文件,"text/plain"表示将会保存为".txt"格式的文件。
types_hash_max_size 2048;
#设置类型哈希表的大小,单位为字节。用于将MIME类型的数据通过哈希后缓存到内存中,以提高对MIME类型映
#射表的读取效率。
charset UTF-8;
#设置字符集编码,防止NGINX对于中文返回的显示乱码。
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
#定义日志格式,“main”表示该日志格式名,用于下方“access_log”访问日志中调用
# $remote_addr 远程访问地址
# $remote_user 远程访问用户
# $time_local 访问时间
# $request 请求的URL与HTTP协议
# $status 请求状态,成功为200
# $body_bytes_sent 发送给客户端文件主机内容大小
# $http_referer 从哪个页面连接访问过来的
# $http_user_agent 客户端浏览器的相关信息
# $http_x_forwarded_for 远程访问地址,与remote_addr相同
sendfile on;
#启用或禁用"sendfile()"函数的调用,"on" or "off","on"表示启用,"off"表示禁用。当线程响应
#时,"sendfile()"函数会报告线程数据不在内存中而是在硬盘中,则线程直接去硬盘拿到响应数据直接传送
#给用户,而无需调用内存去硬盘拿响应数据,省去了调用内存的步骤,在小型WEB项目中可以提高请求响应效
#率,若是重量级WEB项目,为了平衡磁盘IO则不建议开启。我们也可以将此指令称之为高效传输模式。
tcp_nopush on;
#启用或禁用TCP_NOPUSH套接字选项,"on" or "off","on"表示启用,启用此项的前提是必须开
#启"sendfile","off"表示禁用。有时候在传输一个响应数据时,可能会产生多个小块数据包传出,可能这个
#小块数据包头部大小为30字节,而真正数据信息只有1字节,在高并发环境下会导致网络拥塞、带宽不够用问
#题。开启此项则传出的数据包会积累一下在传出,可以防止网络拥塞,减少带宽的占用。
tcp_nodelay on;
#启用或禁用TCP_NODELAY套接字选项,"on" or "off","on"表示启用,"off"表示禁用。此项与
#"tcp_nopush"的功能刚好相反,若开启此项则对于小块数据包不等待立即传输,有时候一个WEB应用期望发
#送小块数据时,则建议开启,当“tcp_nopush”和“tcp_nodelay”同时开启时,NGINX会平衡这两个功能的使
#用。
keepalive_timeout 75s;
#设置保持客户端连接活跃状态的超时时间,单位为秒。
send_timeout 60s;
#设置服务器将响应发送给客户端的超时时间,单位为秒。
include /etc/nginx/conf.d/*.conf;
#设置还包含其他配置文件,我们可以将一些其他配置分离到另外一个文件中处理,避免主配置文件因为配置太
#多导致混乱不方便管理,比如下面的"server {}",在NGINX中我们可以配置多个"server {}"则我们可以将
#每个"server {}"分离到另外一个配置文件中,即一个配置文件对应一个WEB站点。
#==WEB站点配置==#
server {
listen 80 default_server;
#设置监听IPV4的地址与端口,地址为空表示监听所有,“default_server”即默认服务器,DNS映射一个
#域名到该主机,但是当用户访问的这个域名与这些WEB虚拟主机绑定的域名都不匹配的情况下,默认由监
#听“default_server”的虚拟主机呈现内容。
listen [::]:80 default_server;
#设置监听IPV6的地址与端口。
server_name static.test.com;
#设置域名绑定,绑定一个域名。
access_log /var/log/nginx/static_access.log main;
#设置访问日志文件路径,用于记录每个访问请求,“main”调用上面日志格式
location / {
#设置访问位置(URI),即用户访问的URL的尾部部分。当匹配到请求的URI时,则呈现由"{ }"中定义的
#内容。location指令针对于匹配URI可以嵌入正则表达式,实现一些高级应用,详细用法请参考《HTTP
#配置高级指令》。
root /usr/share/nginx/html;
#设置WEB应用根目录。
index index.html;
#设置默认首页文件,当用户访问域名或IP地址是自动索引呈现该文件中的内容,该文件在若为相对路
#径则会在WEB应用根目录下。
}
error_page 404 /404.html;
#当匹配到响应代码,则将请求重定向到指定的URI。
location = /40x.html {
#匹配上面重定向的URI,则呈现相关响应代码的会呈现给用户的内容。若"{}"为空则返回默认页面。
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
}
nginx 主运行配置详解(nginx.conf)的更多相关文章
- Nginx 主配置文件参数详解
Nginx 主配置文件参数详解 Nginx 安装完毕后,会有响应的安装目录,安装目录里 nginx.conf 为 nginx 的主配置文件, ginx 主配置文件分为 4 部分,main(全局配置). ...
- [转帖]Nginx安装及配置详解 From https://www.cnblogs.com/zhouxinfei/p/7862285.html
Nginx安装及配置详解 nginx概述 nginx是一款自由的.开源的.高性能的HTTP服务器和反向代理服务器:同时也是一个IMAP.POP3.SMTP代理服务器:nginx可以作为一个HTTP ...
- 2-4、nginx特性及基础概念-nginx web服务配置详解
Nginx Nginx:engine X 调用了libevent:高性能的网络库 epoll():基于事件驱动event的网络库文件 Nginx的特性: 模块化设计.较好扩展性(不支持模块动态装卸载, ...
- Linux中Nginx安装与配置详解
转载自:http://www.linuxidc.com/Linux/2016-08/134110.htm Linux中Nginx安装与配置详解(CentOS-6.5:nginx-1.5.0). 1 N ...
- Nginx安装及配置详解【转】
nginx概述 nginx是一款自由的.开源的.高性能的HTTP服务器和反向代理服务器:同时也是一个IMAP.POP3.SMTP代理服务器:nginx可以作为一个HTTP服务器进行网站的发布处理,另外 ...
- nginx与fastdfs配置详解与坑
nginx与fastdfs配置详解与坑 环境 ubantu19.04 fastdfs-5.11 fastdfs-nginx-module-1.20 libfastcommon-1.0.39 nginx ...
- (转)Nginx静态服务配置---详解root和alias指令
Nginx静态服务配置---详解root和alias指令 原文:https://www.jianshu.com/p/4be0d5882ec5 静态文件 Nginx以其高性能著称,常用与做前端反向代理服 ...
- Nginx静态服务配置---详解root和alias指令
Nginx静态服务配置---详解root和alias指令 静态文件 Nginx以其高性能著称,常用与做前端反向代理服务器.同时nginx也是一个高性能的静态文件服务器.通常都会把应用的静态文件使用ng ...
- nginx轮询配置详解
nginx轮询配置详解... Nginx配置文件详细说明转载
随机推荐
- [译]HTML&CSS Lesson5: 定位
CSS最大的用处之一就是可以将内容和元素定位到任何我们想要的位置,使我们的设计具有结构,使内容更加易懂. CSS有好几种不同的定位属性,每种都有自己的使用场景.在这节课中我们会通过不同的案例--可复用 ...
- React 和 ES6 工作流之 Webpack的使用(第六部分)
这是React和ECMAScript2015系列文章的最后一篇,我们将继续探索React 和 Webpack的使用. 下面是所有系列文章章节的链接: React . ES6 - 介绍(第一部分) Re ...
- 一块小饼干(Cookie)的故事-上篇
cookie 如果非要用汉语理解的话应该是 一段小型文本文件,由网景的创始人之一的卢 蒙特利在93年发明. 上篇是熟悉一下注册的大致流程,下篇熟悉登录流程以及真正的Cookie 实现基本的注册功能 我 ...
- 彻底弄懂小程序e.target与e.currentTarget
一.小程序中关于事件对象 e 的属性中有两个特别重要的属性:target与currentTarget属性:对于这两个属性,官方文档上的解释是: target:事件源组件对象 currentTarg ...
- Make-learning
Make学习笔记 make是工具,Makefile是指导make工作的文件,而CMake则是生成Makefile的工具 要点: 终极目标是Makefile里面的第一个规则目标 目标下面的命令必须接的是 ...
- Ubuntu16.04 安装和卸载MySQL数据库
Ubuntu16.04 安装和卸载MySQL数据库 1 安装 安装非常简单,只需要三个命令 1.1 安装服务端 sudo apt-get install mysql-server 在这一步过程中会有提 ...
- oracle sqlplus不支持上下键查看历史记录问题
我们需要安装rlwrap软件 系统采样: [root@rac-2 src]# su - oracle Last login: Fri Mar 18 23:36:25 CST 2022 on pts/0 ...
- 还原lvm逻辑卷创建整个过程
很多情况入职的时候,系统可能已规划过的,但是有的信息也不是很完整,比如下面的lvm逻辑卷我们先不管对与错,利用一些工具来了解当前lvm逻辑卷的情况 系统采样: [root@fp-web-112 var ...
- 在非k8s 环境下 的应用 使用 Dapr Sidekick for .NET
在k8s 环境下,通过Operator 可以管理Dapr sidecar, 在虚拟机环境下,我们也是非常需要这样的一个管理组件,类似下图:在这张图片中,在上图左面,我们看到了"dapr.ex ...
- 帝国CMS只备份栏目和模板的方法
方法一:不备份所有帝国cms数据内容表 我们知道帝国cms有8大模型,分别是 1.新闻系统数据表 ( phome_ecms_news )2.下载系统数据表 ( phome_ecms_download ...