千家信息网

线上nginx_cache服务器nginx.conf文件详解

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,#使用的用户和组user www www;#指定工作衍生进程数(一般等于cpu的总核数或总核数的两倍,例如两个四核cpu,则总核数为8)worker_processes 4;#指定错误日志存放的路径,
千家信息网最后更新 2026年11月01日线上nginx_cache服务器nginx.conf文件详解

#使用的用户和组
user www www;
#指定工作衍生进程数(一般等于cpu的总核数或总核数的两倍,例如两个四核cpu,则总核数为8)
worker_processes 4;
#指定错误日志存放的路径,错误日志记录级别可选项为:[debug|info|notice|warn|error|crit]
error_log /usr/local/nginx/logs/nginx_error.log crit;
#指定pid存放的路径
pid /usr/local/nginx/logs/nginx.pid;
#指定进程可以打开的最大描述符:数目
#工作模式与连接数上限
#这个指令是指当一个nginx进程打开的最多文件描述符数目,理论值应该是最多打开文件数(ulimit -n)与nginx进程数相除,但是nginx分配亲求并不是那么均匀,所以最好与ulimit -n的值保持一致。
#现在在linux 2.6内核下开启文件打开数为65535,worker_rlimit_nofile就相应应填写65535.这是因为nginx调度时分配请求道进程并不是那么的均衡,所以假如填写10240,总并发量达到3-4万时就有进程可能超过10240了,这时会返回502错误。
worker_rlimit_nofile 65535;

events
{
#使用的网络I/O模型,Linux系统推荐采用epoll模型,FreeBSD系统推荐采用kqueue模型
use epoll;
multi_accept on;
#单个进程最大连接数(最大连接数=连接数*进程数)
#根据硬件调整,和前面工作进程配合起来用,尽量大,但是别把cpu跑到100%就行,每个进程允许的最多连接数,理论上每台nginx服务器的最大连接数为
worker_connections 65535;
}

http
{
#文件扩展名与文件类型映射表
include mime.types;
#默认文件类型
default_type application/octet-stream;
#设置使用的字符集,如果一个网站有多种字符集,请不要随便设置,应让程序员在HTML代码中通过Meta标签设置(默认编码)
#charset utf-8;
server_names_hash_bucket_size 128;
client_header_buffer_size 32k;
#客户端请求头部的缓冲区大小,这个可以根据你的系统分页大小来设置,一般请求头的大小不会超过1k,不过由于一般系统分页都要大于1k,所以这里设置为分页大小。
#分页大小可以用命令getconf PAGESIZE取得。
#但也有client_header_buffer_size该值必须设置为"系统分页大小"的整倍数。
client_body_buffer_size 512k;
#客户请求头缓存大小.nginx默认会用client_header_buffer_size这个buffer来读取header值,如果header过大,它会使用large_client_header_buffers来读取。
large_client_header_buffers 4 32k;
#设置客户端能够上传的文件大小(设定通过nginx上传文件的大小)
client_max_body_size 300m;

#开启高效文件传输模式,sendfile指令nginx是否调用sendfile函数来输出文件,对于普通应用设为on,如果用来进行下载等应用磁盘IO重负载应用,可设置为off,以平衡磁盘与网络IO处理速度,降低系统uptime.
sendfile on;
#此选项允许或静止使用socke的TCP--CORK的选项,此选项仅在使用sendfile的时候使用
tcp_nopush on;
tcp_nodelay on;
server_tokens off;

keepalive_timeout 60; #keepalive超时时间,单位为秒。
client_header_timeout 15;
client_body_timeout 15;
send_timeout 15;

#后端服务器连接的超时时间_发起握手到等候响应超时时间
#nginx跟后端服务器连接超时时间(代理连接超时)
proxy_connect_timeout 180;
#连接成功后,后端服务器响应时间(代理接收超时)
#连接成功_等候后端服务器响应时间--其实已经进入后端的配对之中等候处理(也可以说是后端服务器处理请求的时间)
proxy_read_timeout 180;
#后端服务器数据回传时间(代理发送超时)
#后端服务器数据回传时间,就是在规定时间之内后端服务器必须传完所有的数据
proxy_send_timeout 180;
#设置代理服务器(nginx)保存用户头信息的缓存区大小
#设置从被代理服务器读取的第一部分应答的缓冲区大小通常情况下这部分应答中包含
#一个小的应答头,默认情况下这个值得大小为指令proxy_buffers中指定的一个缓冲区的大小,不过可以将其设置为更小
proxy_buffer_size 16k;
#proxy_buffers缓冲区,网页平均在32k以下的设置
#设置用于读取应答(来自被代理服务器)的缓冲区数目和大小,默认情况也为分页大小,根据操作系统的不同可能是4k或者8k
proxy_buffers 4 64k;
#高负荷下缓冲大小(proxy_buffers*2)
proxy_busy_buffers_size 128k;
#设置在写入proxy_temp_path时数据的大小,预防一个工作进程在传递文件时阻塞太长
#设定缓存文件夹大小,大于这个值,将从upstream服务器传
proxy_temp_file_write_size 128k;

#gzip模块设置
gzip on; #开启gzip压缩输出
gzip_min_length 1k; #最小压缩文件大小
gzip_buffers 4 32k; #压缩缓存区
gzip_http_version 1.1; #压缩版本(默认1.1,前段如果是squid2.5请使用1.0)
gzip_comp_level 6; #压缩等级
# gzip_types text/plain application/x-javascript text/css application/xml;
gzip_types text/xml text/plain text/css application/javascript application/x-javascript application/rss+xml; #压缩类型,默认就已经包含textml,所以下面就不用再写了,写上去也不会有问题,但是会有一个warn.
gzip_disable "MSIE [1-6]\.";
gzip_vary on;

# waf
#lua_package_path "/usr/local/nginx/conf/waf/?.lua";
#lua_shared_dict limit 10m;
#init_by_lua_file /usr/local/nginx/conf/waf/init.lua;
#access_by_lua_file /usr/local/nginx/conf/waf/waf.lua;

# cache
#proxy_temp_path和proxy_cache_path指定的路径必须在同一分区
proxy_temp_path /data/proxy_cache/proxy_temp_dir;
#设置内存缓存空间大小为500MB,7天没有被访问的内容自动清除,硬盘缓存空间大小为30GB
proxy_cache_path /data/proxy_cache/qmcaifu.com/www levels=1:2 keys_zone=www:500m inactive=7d max_size=30g;
proxy_cache_path /data/proxy_cache/qmcaifu.com/m levels=1:2 keys_zone=m:500m inactive=7d max_size=30g;

#日志格式的设置
$remote_addr与#$与$http_x_forwarded_for用以记录客户端的ip地址;
$remote_user:用来记录客户端用户名称;
$time_local:用来记录访问时间与时区
$request:用来记录请求的url与http协议;
$body_bytes_sent:记录发送给客户端文件主体内容大小;
$http_referer:用来记录从那个页面链接访问过来的;
$http_user_agent:记录客户浏览器的相关信息;
log_format qmcaifu.com '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for" '
'"$upstream_cache_status" $request_time $upstream_addr $http_host $upstream_response_time';

#负载均衡配置
upstream backend_www {
#upstream的负载均衡,weight是权重,可以根据机器配置定义权重,weigth参数表示权值,权值越高被分配到的几率越大。
server 10.161.158.176:80;
check interval=3000 rise=2 fall=3 timeout=5000;
}

include vhost/*.conf;
}

大小 文件 服务器 服务 时间 进程 客户 代理 缓冲 缓冲区 最大 客户端 数据 系统 缓存 工作 均衡 情况 指令 数目 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 百单网互联网科技有限公司 云信互联网科技有限公司 科技服务与互联网 互联网高科技企业 互联网科技公司有哪些 衡水科技产业互联网平台 太原新华互联网科技学校怎么样 卫星互联网科技股票 互联网科技公司需要的职位 金融科技与互联网金融相同和不同 移动互联网科技公司 银川新华互联网科技学校联系电话 民营互联网公司国防科技 佛山市翊博互联网络科技有限公司 滨湖区互联网智能科技产品有哪些 启辰互联网科技 产业互联网科技服务公司 广西科技产业互联网是什么 兰石爱特工业互联网科技分公司 利用互联网等科技手段 互联网品科技 盈实互联网科技 鑫亿盛互联网科技 汇久创客互联网科技 科技大学互联网专业好不好 彤创互联网科技有限公司 速维有品互联网信息科技(苏州)有限公司 互联网公司高科技产品 互联网科技收购价值 科技互联网企业在行动
0