点击传送至 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_processes
和 worker_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 处理速度,降低系统的负载。
注意:如果图片显示不正常把这个改成off
。sendfile
还能够用来在两个文件夹之间移动数据。
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