接着上篇我们这次了解一下Nginx的使用配置,Nginx的配置文件在安装目录的conf目录里 nginx.conf。
nginx.conf 文件的结构
- main 全局设置其他模块会继承main的设置。
- events 事件处理模型相关事件配置。
- http http请求的相关配置。
- upstream 负载均衡设置可以配置一个或多个后端服务器列表,不继承main。
- server 服务器设置指定主机和端口,继承main。
- location 用于匹配路径位置,继承server。
全局配置
user 【user user [group]】 设置运行worker processes的用户及组
worker_processes 【worker_processes number | auto】 设置Nginx要开启的进程数,默认是1 推荐与CPU的数量一致即可
error_log 【error_log file [level] 】设置错误日志输出位置和级别,级别有debug info notice warn error crit
pid 【pid file】设置主进程的存储位置
Events
worker_connections 【worker_connections number】 设置工作进程打开的最大连接数 包括所有的连接(例如 代理服务器连接等)但不能超过worker_rlimit_nofile设置的数量 ,作为反向代理连接数等于worker_processes * worker_connections / 4 作为http服务器连接数等于 worker_processes * worker_connections / 2
worker_rlimit_nofile 【worker_rlimit_nofile number】 更改工作进程打开的文件数量,不重启主进程的情况下增加限制
更多配置 http://nginx.org/en/docs/ngx_core_module.html
HTTP服务配置
upstream 负载均衡 定义服务器组被 proxy_pass, fastcgi_pass, uwsgi_pass, scgi_pass, memcached_pass, and grpc_pass指令引用
- 默认按时间顺序轮询分配
- weight 权重值 值越到分配到的概率越高
- fair 使用智能均衡算法平均分配,根据加载响应时间
- ip_hash 按访问ip的hash分配,保证相同ip请求到相同的服务器
- down 暂停使用
- backup 备份机器当其他所有服务器都坏了时候使用
更多配置 http://nginx.org/en/docs/http/ngx_http_upstream_module.html
gzip 在线压缩数据
- gzip on 开启压缩
- gzip_min_length 允许压缩最小字节数
- gzip_buffers 设置压缩缓冲区的大小和个数,缓冲区大小等于一个内存页 4k或8k 取决于平台
- gzip_comp_level 设置压缩比
- gzip_types 压缩类型
- gzip_http_version http版本
更多配置 http://nginx.org/en/docs/http/ngx_http_gzip_module.html
server 虚拟主机
- listen 监听端口默认80
- server_name 服务器名称
- position 特定URL的映射配置
更多配置 http://nginx.org/en/docs/http/ngx_http_core_module.html#server
position URL映射模块
- posiion支持正则匹配也可以条件判断
- root 指定虚拟主机根目录
更多配置 http://nginx.org/en/docs/http/ngx_http_core_module.html#location
http_proxy 反向代理模块
- proxy_pass 请求转向upstream定义的服务器列表
- proxy_redirect
更多配置 http://nginx.org/en/docs/http/ngx_http_proxy_module.html