Nginx基础篇-Nginx的主配置文件
主配置文件
CoreModule 核心模块 (进程数等)
EventsModule 事件驱动模块(工作模式等)
HttpCoreModule http内核模块(文档程序类型,配置文件等)
user nginx;
worker_processes 1;--- 启动的worker进程数量(CPU数量一致或auto)
error_log /var/log/nginx/error.log warn;---错误日志存放位置
pid /var/run/nginx.pid;
events {---事件
use epoll; ---事件驱动模型epoll【默认】
worker_connections 1024;---//每个worker进程允许处理的最大连接数,例如10240,65535
}
http {
include /etc/nginx/mime.types;----文档和程序的关联记录
default_type application/octet-stream;----字节流处理方式
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"'; ---日志格式,讲日志回来看
access_log /var/log/nginx/access.log main;
sendfile on;
1.优化参数
2.高效传输文件的模式
Nginx高级篇sendfile配置
sendfile: 设置为on表示启动高效传输文件的模式。sendfile可以让Nginx在传输文件时直接在磁盘和
tcp socket之间传输数据。如果这个参数不开启,会先在用户空间(Nginx进程空间)申请一个buffer,
用read函数把数据从磁盘读到cache,再从cache读取到用户空间的buffer,再用write函数把数据从用户空间的buffer
写入到内核的buffer,最后到tcp socket。开启这个参数后可以让数据不用经过用户buffer。
#tcp_nopush on;
优化参数
也就是说tcp_nopush = on 会设置调用tcp_cork方法,这个也是默认的,结果就是数据包不会
马上传送出去,等到数据包最大时,一次性的传输出去,这样有助于解决网络堵塞。
keepalive_timeout 65;
优化参数
长连接
#gzip on; ----压缩参数
include /etc/nginx/conf.d/*.conf;----包含子配置文件夹