- nginx conf文件详解
– main块设置的指令将影响其他所有设置;
– server块的指令主要用于指定主机和端口;
– upstream指令主要用于负载均衡 , 设置一系列的后端服务器;
– location块用于匹配网页位置 。
这四者之间的关系式:server继承main , location继承server , upstream既不会继承其他设置也不会被继承 。在这四个部分当中 , 每个部分都包含若干指令 , 这些指令主要包含Nginx的主模块指令、事件模块指令、HTTP核心模块指令 , 同时每个部分还可以使用其他HTTP模块指令 , 例如Http SSL模块、HttpGzip Static模块和Http Addition模块等 。
– Nginx的全局配置
user nobody nobody;worker_processes 2;error_log logs/error.log notice;pid logs/nginx.pid;worker_rlimit_nofile 65535; events{use epoll;worker_connections 65536;} 每个配置选项的含义解释如下: user是个主模块指令 , 指定Nginx Worker进程运行用户以及用户组 , 默认由nobody账号运行 。worker_processes是个主模块指令 , 指定了Nginx要开启的进程数 。每个Nginx进程平均耗费10M~12M内存 。建议指定和CPU的数量一致即可 。error_log是个主模块指令 , 用来定义全局错误日志文件 。日志输出级别有debug、info、notice、warn、error、crit可供选择 , 其中 , debug输出日志最为最详细 , 而crit输出日志最少 。pid是个主模块指令 , 用来指定进程pid的存储文件位置 。workerrlimitnofile用于绑定worker进程和CPU , Linux内核2.4以上可用 。events事件指令是设定Nginx的工作模式及连接数上限:use是个事件模块指令 , 用来指定Nginx的工作模式 。Nginx支持的工作模式有select、poll、kqueue、epoll、rtsig和/dev/poll 。其中select和poll都是标准的工作模式 , kqueue和epoll是高效的工作模式 , 不同的是epoll用在Linux平台上 , 而kqueue用在BSD系统中 。对于Linux系统 , epoll工作模式是首选 。workerconnections也是个事件模块指令 , 用于定义Nginx每个进程的最大连接数 , 默认是1024 。最大客户端连接数由workerprocesses和workerconnections决定 , 即Maxclient=workerprocesses*workerconnections 。在作为反向代理时 , maxclients变为:maxclients = workerprocesses * workerconnections/4 。进程的最大连接数受Linux系统进程的最大打开文件数限制 , 在执行操作系统命令“ulimit -n 65536”后worker_connections的设置才能生效 。– HTTP服务器配置 http{include conf/mime.types;default_type application/octet-stream;log_format main '$remote_addr - $remote_user [$time_local] ''"$request" $status $bytes_sent ''"$http_referer" "$http_user_agent" ''"$gzip_ratio"';log_format download '$remote_addr - $remote_user [$time_local] ''"$request" $status $bytes_sent ''"$http_referer" "$http_user_agent" ''"$http_range" "$sent_http_content_range"';client_max_body_size 20m;client_header_buffer_size 32K;large_client_header_buffers 4 32k;Sendfile on;tcp_nopush on;tcp_nodelay on;keepalive_timeout 60;client_header_timeout 10;client_body_timeout 10;send_timeout 10;include是个主模块指令 , 实现对配置文件所包含的文件的设定 , 可以减少主配置文件的复杂度 。类似于Apache中的include方法 。default_type属于HTTP核心模块指令 , 这里设定默认类型为二进制流 , 也就是当文件类型未定义时使用这种方式 , 例如在没有配置PHP环境时 , Nginx是不予解析的 , 此时 , 用浏览器访问PHP文件就会出现下载窗口。log
推荐阅读
- Kafka-manager部署与使用简单介绍
- RabbitMq七种工作模式,结合简单的java实例使用,别再说你不会
- 鸿安单枞加盟信息,凤凰单枞冲泡要点第泡不超过3秒
- 在Windows和Linux中找出磁盘分区使用的文件系统,就是这么简单
- 特斯拉|特斯拉上海工厂正式复工复产:计划4天内单班满产
- 福人地板报价清单
- 简单的奶茶做法有哪些,最简单的奶茶做法
- 支付宝首页新增商家订单消息提醒,可跳转小程序
- 主板供电到底是怎么回事,简单讲解主板供电的并联和倍相
- loadrunner 关联原来这么简单
