#================================以下是全局配置项
#运行nginx的所属组和所有者
user nginx nginx;
#开启4个nginx 工作进程
worker_processes 4;
worker_rlimit_nofile 65535;
events {
#连接规则
use epoll;
#每个进程可建立的连接数
worker_connections 65535;
}
#================================以上是全局配置项
http {
#================================以下是Nginx后端服务配置项
# upstream backendserver1 {
# nginx向后端服务器分配请求任务的方式,默认为轮询;如果指定了ip_hash,就是hash算法(上文介绍的算法内容)
# ip_hash
# 后端服务器 ip:port ,如果有多个服务节点,这里就配置多个
# server 192.168.220.131:8080;
# server 192.168.220.132:8080;
# backup表示,这个是一个备份节点,只有当所有节点失效后,nginx才会往这个节点分配请求任务
# server 192.168.220.133:8080 backup;
# weight,固定权重,还记得我们上文提到的加权轮询方式吧。
# server 192.168.220.134:8080 weight=100;
#}
#================================以上是Nginx后端服务配置项
#启用错误跳转
fastcgi_intercept_errors on;
#=================================================以下是 http 协议主配置
#导入模板文件
include mime.types;
#默认类型为二进制流
default_type application/octet-stream;
#send file规则开启
sendfile on;
#连接的等待时间
keepalive_timeout 120;
#隐藏版本号
server_tokens off;
#开启gzip压缩服务,
gzip on;
#gzip压缩是要申请临时内存空间的,假设前提是压缩后大小是小于等于压缩前的。例如,如果原始文件大小为10K,那么它超过了8K,所以分配的内存是8 * 2 = 16K;再例如,原始文件大小为18K,很明显16K也是不够的,那么按照 8 * 2 * 2 = 32K的大小申请内存。如果没有设置,默认值是申请跟原始数据相同大小的内存空间去存储gzip压缩结果。
gzip_buffers 2 8k;
#进行压缩的原始文件的最小大小值,也就是说如果原始文件小于5K,那么就不会进行压缩了
gzip_min_length 5K;
#gzip压缩基于的http协议版本,默认就是HTTP 1.1
gzip_http_version 1.1;
# gzip压缩级别1-9,级别越高压缩率越大,压缩时间也就越长CPU越高
gzip_comp_level 5;
#需要进行gzip压缩的Content-Type的Header的类型。建议js、text、css、xml、json都要进行压缩;图片就没必要了,gif、jpge文件已经压缩得很好了,就算再压,效果也不好,而且还耗费cpu。
gzip_types text/HTML text/plain application/x-javascript text/css application/xml;
tcp_nopush on;
client_body_timeout 3m;
send_timeout 3m;
client_max_body_size 50m;
client_body_buffer_size 256k;
client_header_timeout 3m;
proxy_connect_timeout 300s;
proxy_read_timeout 300s;
proxy_send_timeout 300s;
proxy_buffer_size 64k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
proxy_ignore_client_abort on;
proxy_cache_path /var/cache/nginx/proxy levels=1:2 keys_zone=backcache:2000m max_size=4000m;
proxy_cache_key "$scheme$request_method$host$request_uri$is_args$args";
proxy_cache_valid 200 302 10m;
proxy_cache_valid 404 1h;
proxy_cache_valid any 1m;
#=================================================以上是 http 协议主配置
#=================================================以下是一个服务实例的配置
# server {
#
# #监听端口
# listen 80;
# #实例名
# #server_name t-bj-apache-01;
# server_name nginx.teld.cn;
# return 301 https://$server_name$request_uri;
# }
# server {
# #监听端口
# #listen 8080;
# listen 443;
# #实例名
# #server_name t-bj-apache-01;
# server_name nginx.teld.cn;
#
#
# #location将按照规则分流满足条件的URL,"location /"您可以理解为“默认分流位置”
# location / {
# #root目录/etc/nginx/html
# root /var/www/html;
# #默认页面
# index index.html index.htm;
# # 开启目录浏览功能
# autoindex on;
# # 关闭详细文件大小统计,让文件大小显示MB,GB单位,默认为b
# autoindex_exact_size off;
# # 开启以服务器本地时区显示文件修改日期
# autoindex_localtime on;
# }
#
# #location支持正则表达式,“~” 表示匹配正则表达式。
# #location ~ ^/business/ {
# #反向代理。
# #proxy_pass http://backendserver1;
# #}
# #ssl
# ssl on;
# ssl_certificate /etc/nginx/conf/1_.teld.cn_bundle.crt;
# ssl_certificate_key /etc/nginx/conf/2_.teld.cn.key;
# ssl_session_timeout 5m;
# ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
# ssl_ciphers HIGH:!ADH:!EXPORT56:RC4+RSA:+MEDIUM;
# error_page 500 502 503 504 /50x.html;
# location = /50x.html {
# root html;
#
#
#
# }
# }
# #include reverse-proxy.conf;
# server {
# listen 80 default_server;
# server_name _;
# return 404;
# }
include /etc/nginx/conf.d/*.conf;
}