|
1.Nginx的日志(log)位置:
默认位置/var/log/nginx ,需要重定向log的位置
/etc/logrotate.d/nginx, 修改 属组为nginx
2.Nginx配置文件的位置:
主配置文本 /etc/nginx/nginx.conf
子配置文件 /etc/nginx/conf.d/.conf
3.主配置文件结构(全局配置):
Nginx配置文件的结构包含events,http,upstream,server,location这五大模块,另外我们发现一些指令不包含在这五个模块中,我们称他们为main指令.
每块具体意义如下:
main模块:
主要控制nginx子进程的所属用户/用户组,派生子进程数,错误日志位置/级别,pid位置,进程对应cpu,进程能够打开的文件描述符数目等
events模块:
控制nginx处理连接的方式
http模块:
是nginx处理http请求的主要配置模块,有关http的相关都在这个模块中进行配置.
server模块:
包含在http块中,是在nginx中虚拟主机的配置块,可以配置多个
location模块:
包含在server模块中,是server中对应的目录级别的控制块,可以配置多个.
配置运行nginx的用户和组:
user user [group]
user 指定可以运行nginx服务器的用户
group 可选项,指定运行nginx服务器的用户
配置运行产生的worker process数:
worker_processes number | auto;
number 指定nginx进程最多可以产生worker processes数,默认为1'
auto,设置此值,nginx将自动检测cpu的核心数,并将worker process数量设置成等同cpu核心数量
配置nginx打开最大文件数:
worker_rlimit_nofile number;
number 设置worker进程打开最大文件数
配置nginx最大连接数:
worker_connections numbers;
numbers 设置一个worker进程的最大网络连接数
配置nginx进程PID存放路径:
pid /path/file
配置错误日志的存放路径:
error_log file|stderr [debug|info|notice|warn|error|crit|alert|emerg];
设置某一级别后,比这一级高的日志也会被记录
例如:
error_log logs/error.log error;
配置文件引入指令include file;
file,要引入的配置文件,它支持相对路径
在一些情况下,我们可能将其他的nginx配置或第三方模块的配置引入到当前的主配置文件中,此指令可以放在文件的任意地方.
Nginx优化配置指令
针对cpu的nginx配置优化指令
在nginx配置中,两个关于进程的指令:worker_processes 和worker_cpu_affinity,它们可以针对多核cpu进行配置优化
worker_processes指定nginx工作进程数.默认为1,但是为了更好的处理并发任务,可以设置该值,最好是机器的cpu的倍数;
并不是越大越好,nginx进程太多会增加主进程master调度负担,也可能影响系统的IO效率
auto参数可以自动根据操作系统的cpu核心数量去开启等同于nginx工作进程数,这样就不需要手动去设置nginx的工作进程数量
worker_cpu_affinity指令用来为每个进程分配工作内核(cpu),
设置规则:
cpu有多少个核,就有几位数,1代表使用,0代表不使用
例如
针对网络相关的配置指令
keepalive_timeout指令
用于设置Nginx服务器与客户端保持连接的超时时间
例如: keepalive_timeout 60 30;
第一个选项指定客户端连续保持活动的超时时间
第二个选项指定keepalive消息头保持存活的有效时间
send_timeout指令
用于设置nginx服务器响应客户端的超时时间,这个时间仅针对客户端和服务器建立连接之后
例如: send_timeout 10s;
client_header_buffer_size指令
设置nginx服务器允许的客户端请求头的缓冲区大小,默认是1KB;
Gzip压缩指令
在nginx配置文件中可以配置Gzip的使用,Gzip指令可以在http|server|location模块中设置 它可以对响应数据进行在线实时压缩.Gzip主要由ngx_http_gzip_module模块提供
开启或者关闭Gzip功能,默认是关闭
gzip on | off;
|
|
|