Nginx 配置文件解读

点击传送至 Nginx 中文文档
点击传送至 Tengine 中文文档

user nobody

哪些用户可以启动服务,nobody表示任何。

worker_processes

指定开启多少个worker线程,越多,效率更高, 一般设置为 CPU 的总核心数。

error_log

错误日志存放位置和类型 [ debug | info | notice | warn | error | crit ]
error_log logs/error.log;
error_log logs/error.log notice;
error_log logs/error.log info;

pid

进程文件 nginx在成功启动后,产生的一个文件,里面有编号。

worker_processes

配置链接数,一个工作进程最大链接数。
并发总数是 worker_processesworker_connections 的乘积, 即 max_clients = worker_processes * worker_connections
因为并发受 IO 约束,max_clients的值须小于系统可以打开的最大文件数。
使用命令 cat /proc/sys/fs/file-max 可以查看当前系统可以打开的最大文件句柄数。
并发连接总数小于系统可以打开的文件句柄总数,这样就在操作系统可以承受的范围之内,
所以,worker_connections 的值需根据 worker_processes 进程数目和系统可以打开的最大文件总数进行适当地进行设置,
使得并发总数小于操作系统可以打开的最大文件数目。

use epoll

选择何种事件驱动 (select/poll/epoll) epoll最优。

include mime.types

文件扩展类型文件引入, 也可以理解为文件扩展名与文件类型映射表。

default_type application/octet-stream

默认文件类型。

charset utf-8

默认编码。

client_header_buffer_size 32k

设置客户端头部缓冲区大小。

sendfile on

是否开启高效文件传输模式
sendfile指令指定nginx是否调用sendfile函数来输出文件,对于普通应用设为 on,如果用来进行下载等应用磁盘 IO 重负载应用,可设置为off,以平衡磁盘与网络 I/O 处理速度,降低系统的负载。
注意:如果图片显示不正常把这个改成offsendfile 还能够用来在两个文件夹之间移动数据。

tcp_nopush on

linux/Unix系统中优化tcp数据传输,仅在sendfile开启时有效 。

autoindex on

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

keepalive_timeout 65

设置长链接的超时时间/秒

gzip on

开启gzip压缩输出,一般开启

gzip_types text/plain application/x-javascript text/css application/xml

压缩类型,默认就已经包含text/html,所以下面就不用再写了,写上去也不会有问题,但是会有一个warn。
默认值: gzip_types text/html (默认不对js/css文件进行压缩).
匹配 MIME 类型进行压缩.
设置哪压缩种文本文件可参考 conf/mime.types

client_max_body_size 8

最大上传文件的大小限制

log_format

main '$remote_addr - $remote_user [$time_local] "$request" '
$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
日志文件如何格式化

fastcgi_connect_timeout 60;

FastCGI服务器的链接超时时间,默认60秒

fastcgi_send_timeout 60;

Nginx 进程向 FastCGI进程发送request,整个过程的超时时间

server

虚拟主机块,可配置多个

listen 80;

监听端口

server_name localhost

虚拟主机的地址,多个使用空格隔开, 例如 www.baidu.com www.google.com

charset koi8-r;

编码集

access_log logs/host.access.log main;

当前主机的请求处理日志路径

root html;

主目录, 如果外层的也有root设置,则外层的会被location覆盖

index index.html index.htm;

没有指定具体页面的时候,默认的界面

error_page 404 /404.html;

配置错误页,默认会到网站根目录 $nginx/html下,这里的 / 表示 location. root= $nginx

你可能感兴趣的:(Nginx 配置文件解读)