nginx块指令:
全局块:配置nginx全局的指令
events块:配置nginx与用户连接相关指令
http块:提供HTTP服务
server块:配置虚拟主机,一个http可以有多个server
location块:匹配URL后需要做的相关操作。
nginx.conf配置文件详解:
全局块: user 指定默认用户 worker_processes 1; 指定工作进程数。和cpu核数相关.cpu核数*2 worker_rlimit_nofile 102400; 进程打开的最大文件数。 worker_cpu_affinity 0001; 绑定CPU。 error_log 错误日志路径.日志等级. pid pid文件的路径。 events块: use epoll; 使用epoll的I/O多路复用模型. worker_connections 每个工作进程所支持的最大连接数。http块: include mime.types; 媒体类型。 default_type application/octet-stream; 默认类型:以二进制文件流的方式传输。 log_format 日志格式。 access_log main 访问日志文件路径。 main指定名称。 sendfile 加快传输文件的机制。 keepalive_timeout 处理完一个连接后,tcp连接保持的时间。 gzip 对文件进行压缩,传输到客户端。server块: listen 监听端口 server_name 域名或IP charset 指定响应内容的编码(utf-8,gbk) access_log 虚拟主机的访问日志路径。location块: root 网站默认根目录。 index 默认index或默认index后缀。 error_page 错误页面。 location ~ \.php$ { #代理php脚本 root html; fastcgi_pass 127.0.0.1:9000; 代理到后端的php。 fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; 指定php脚本名。 include fastcgi_params; }
二. 配置文件优化:
全局块优化参数:1.优化工作进程个数:设置为CPU的总核数或CPU总颗数*2example: worker_processes 2; # 2核CPU的配置 worker_cpu_affinity 01 10; #工作进程CPU绑定。 worker_processes 4; # 4核CPU的配置 worker_cpu_affinity 0001 0010 0100 1000; #工作进程CPU绑定。2.工作进程CPU绑定:充分利用硬件的多 CPU 多核资源。 worker_cpu_affinity 01 10; #2核CPU配置. worker_cpu_affinity 0001 0010 0100 1000; #4核CPU配置。 共4核CPU,设置2个工作进程绑定到2核cpu上:worker_cpu_affinity 0001 0010 0001 0010;3.增大打开最大文件数:worker_rlimit_nofile 102400;events块配置: 事件处理模型: use epoll; 连接数: worker_connections 65535; 4. http块配置: sendfile提升文件传输 sendfile on; 屏蔽输出版本: server_tokens off; keepalive_timeout 保持时间: keepalive_timeout 30; #可以设置稍微小点。 #设置30s,可以减小socket连接和释放的资源的花销。 gzip压缩: gzip on; gzip_buffers 4 16k; 以16k为单位,用4倍的内存缓存这个文件。 gzip_comp_level 3; 压缩级别.数字越小,压缩比例越高.占用资源越多。 gzip_disable "MSIE[1-6]"; #禁用客户端IE浏览器访问。 gzip_min_length 1k; #最小文件为1k以上的文件才进行压缩。 gzip_http_version 1.0; #压缩所支持的http版本。 gzip_types text/plain application/html application/css application/js; #压缩文件类型:文本,html,css,js gzip_vary on; #根据http头部去判断是否进行压缩。 client_max_body_size 8m; #加大客户端上传文件的大小。 5.server块配置: charset utf-8; 6. 错误页面优雅显示: server块配置: error_page 404 /404.html; location = /404.html { root html; } 在/usr/local/nginx/html/目录下创建404.html. 自定义错误页面的内容。 7. 启用客户端缓存策略: server块配置: location ~ \.(jpg|png|gif) { expires 30d; } location ~ \.(html|css|js) { expires 1d; }