nginx配置文件详解
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 | #user nobody; # #开启的worker数量,这里保存和cpu数量一致 worker_processes 6; worker_cpu_affinity 000001 000010 000100 001000 010000 100000; #制定error日志的格式为crit(error日志有六种格式:debug | info | notice | warn | error | crit;其中debug格式记录的错误信息最详细,crit记录的最少) error_log /usr/local/nginx/logs/nginx_error .log crit; #指定nginx启动时的pid文件的路径 pid /usr/local/nginx/logs/nginx .pid; #指定nginx进程最多能够打开多少个文件描述符,通常与系统中的ulimit -n 的执行结果保持一致,ulimit -n执行的结果为系统一个进程最多能打开的文件数量 worker_rlimit_nofile 204800; #事件区域配置 events { #指定处理模型为epoll use epoll; #每个进程最多能处理的连接数 worker_connections 204800; } #http服务配置区域 http { #指定文件扩展名和文件类型映射表 include mime.types; #指定文件类型 default_type application /octet-stream ; #指定字符集 charset utf-8; #服务器名字的hash表大小 server_names_hash_bucket_size 128; #指定客户端请求头部的缓存大小 client_header_buffer_size 2k; #指定客户端请求中较大的消息头的缓存数量和大小 large_client_header_buffers 4 4k; #指定客户端请求的单个文件的最大字节数 client_max_body_size 8m; #开启高效传输模式 sendfile on; #防止网络阻塞 tcp_nopush on; #客户端连接超时时间 keepalive_timeout 60; #FastCGI相关参数是为了改善网站的性能,减少资源占用,提高访问速度 #配置fastcgi缓存路径个目录结构等级 fastcgi_cache_path /usr/local/nginx/fastcgi_cache levels=1:2 #关键字区域存储时间共和非活动连接删除时间 keys_zone=TEST:10m inactive=5m; #连接到后端fastcgi的超时时间 fastcgi_connect_timeout 300; #向FastCGI传送请求的超时时间 fastcgi_send_timeout 300; #接收FastCGI应答的超时时间 fastcgi_read_timeout 300; #指定读取FastCGI应答第一部分需要多大的缓冲区 fastcgi_buffer_size 4k; #指定本地需要用多少和多大的缓冲区来缓冲FastCGI的应答请求 fastcgi_buffers 8 4k; #通常为fastcgi_buffer_size大小的两倍 fastcgi_busy_buffers_size 8k; #写入缓存文件时使用多大的数据块,大小同上 fastcgi_temp_file_write_size 8k; #开启Fastcgi的缓存并且为其指定一个名称 fastcgi_cache TEST; #指定不同的状态码,其缓存的时间 fastcgi_cache_valid 200 302 1h; #URL经过被访问多少次将被缓存 fastcgi_cache_valid 301 1d; fastcgi_cache_valid any 1m; fastcgi_cache_min_uses 1; #指定什么情况下不进行缓存 fastcgi_cache_use_stale error timeout invalid_header http_500; #指定缓存文件最大数量,经过多长时间文件没有被请求后则删除缓存 open_file_cache max=204800 inactive=20s; #指令中的inactive参数时间内文件的最少使用次数,如果超过这个数字,文件更改信息一直是在缓存中打开的; open_file_cache_min_uses 1; #指定多长时间检查一次缓存的有效信息,检查该缓存的源文件是否发生变化修改等 open_file_cache_valid 30s; # nagle算法,有需要发送的就立即发送,连接转换为长连接时使用; tcp_nodelay on; #开启gzip压缩 gzip on; #指定最小压缩文件的大小 gzip_min_length 1k; #指定压缩缓冲区的个数和格式 gzip_buffers 4 16k; #指定压缩版本 gzip_http_version 1.0; #指定压缩等级,1-9级,9的压缩级别最高 gzip_comp_level 2; #指定压缩文件类型 gzip_types text /plain application /x-javascript text /css application /xml ; #前端缓存服务器缓存经过压缩的页面 gzip_vary on; #配置日志格式,日志格式为access log_format access '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" $http_x_forwarded_for' ; |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | server { listen 80; server_name www.linuxfan.cn; location / { root /usr/local/nginx/html/ ; proxy_pass http: // *.*.*.*:8080; #开启nginx代理到指定地址 index index.html index.html; } #nginx状态页面 location /status { stub_status on; access_log off; } location ~ .*\.(gif|jgp|jpeg|png|bmp|swf|js|css)$ { expires 30d; #指定以上格式的文件将进行缓存 } access_log /usr/local/nginx/access .log access; } } |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话