热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Windows环境下Nginx缓存优化配置指南

本文详细介绍了在Windows系统中如何配置Nginx以实现高效的缓存加速功能,包括关键的配置文件设置和示例代码。
### Nginx配置文件

#### 主配置文件:nginx.conf

```nginx
worker_processes 1;
events {
worker_connections 1024;
}

http {
include mime.types;
include proxy.conf;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;

server {
listen 80;
server_name localhost;
location / {
root html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}

# 缓存路径配置
proxy_cache_path /nginx/temp/existo levels=1:2 keys_zOne=EXISTO:10m inactive=5m max_size=2m;
proxy_cache_path /nginx/temp/blog levels=1:2 keys_zOne=BLOG:10m inactive=5m max_size=2m;
proxy_cache_path /nginx/temp/yafan levels=1:2 keys_zOne=YAFAN:10m inactive=5m max_size=2m;
proxy_cache_path /nginx/temp/safe levels=1:2 keys_zOne=SAFE:10m inactive=5m max_size=2m;
proxy_cache_path /nginx/temp/atimg levels=1:2 keys_zOne=ATIMG:100m inactive=5m max_size=2m;
proxy_cache_path /nginx/temp/zhuatu levels=1:2 keys_zOne=ZHUATU:10m inactive=5m max_size=2m;

# 各域名服务器配置
server {
listen 80;
server_name existo.cn www.existo.cn;
location / {
proxy_pass http://218.28.188.230:81;
proxy_cache EXISTO;
proxy_cache_key $uri;
proxy_cache_valid 200 302 1h;
proxy_cache_valid 301 1d;
proxy_cache_valid any 1m;
proxy_cache_min_uses 1;
}
}

server {
listen 80;
server_name blog.atimg.com;
location / {
proxy_pass http://218.28.188.230:81;
proxy_cache BLOG;
proxy_cache_key $uri;
proxy_cache_valid 200 302 1h;
proxy_cache_valid 301 1d;
proxy_cache_valid any 1m;
proxy_cache_min_uses 1;
}
}

server {
listen 80;
server_name yafan.atimg.com;
location / {
proxy_pass http://218.28.188.230:81;
proxy_cache YAFAN;
proxy_cache_key $uri;
proxy_cache_valid 200 302 1h;
proxy_cache_valid 301 1d;
proxy_cache_valid any 1m;
proxy_cache_min_uses 1;
}
}

server {
listen 80;
server_name safe.atimg.com;
location / {
proxy_pass http://218.28.188.230:81;
proxy_cache SAFE;
proxy_cache_key $uri;
proxy_cache_valid 200 302 1h;
proxy_cache_valid 301 1d;
proxy_cache_valid any 1m;
proxy_cache_min_uses 1;
}
}

server {
listen 80;
server_name atimg.com www.atimg.com;
location ~*\.(htm|html|shtml|swf|png|jpg|gif|jpeg|rar|css|js)$ {
index index.php;
proxy_pass http://218.28.188.230:81;
proxy_temp_path /nginx/temp/cache;
proxy_cache ATIMG;
proxy_cache_key $uri;
proxy_cache_valid 200 302 1h;
proxy_cache_valid 301 1d;
proxy_cache_valid any 1m;
proxy_cache_min_uses 1;
}
}

server {
listen 80;
server_name zhuatu.atimg.com;
location / {
proxy_pass http://218.28.188.230:81;
proxy_cache ZHUATU;
proxy_cache_key $uri;
proxy_cache_valid 200 302 1h;
proxy_cache_valid 301 1d;
proxy_cache_valid any 1m;
proxy_cache_min_uses 1;
}
}
}
```

#### 代理配置文件:proxy.conf

```nginx
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m;
client_body_buffer_size 128k;
# client_body_temp_path /var/nginx/client_body_temp;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
#proxy_send_lowat 12000;
proxy_buffer_size 32k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
# proxy_temp_path /var/nginx/proxy_temp;
proxy_ignore_client_abort on;
proxy_next_upstream error timeout invalid_header http_500 http_503 http_404;
proxy_max_temp_file_size 128m;
```

以上配置示例展示了如何在Windows环境中为多个子域名配置Nginx的缓存功能,通过合理设置缓存路径、缓存策略等参数,可以显著提升网站的响应速度和用户体验。
推荐阅读
  • Web动态服务器Python基本实现
    Web动态服务器Python基本实现 ... [详细]
  • 本文将从基础概念入手,详细探讨SpringMVC框架中DispatcherServlet如何通过HandlerMapping进行请求分发,以及其背后的源码实现细节。 ... [详细]
  • 电商高并发解决方案详解
    本文以京东为例,详细探讨了电商中常见的高并发解决方案,包括多级缓存和Nginx限流技术,旨在帮助读者更好地理解和应用这些技术。 ... [详细]
  • 本文介绍了SIP(Session Initiation Protocol,会话发起协议)的基本概念、功能、消息格式及其实现机制。SIP是一种在IP网络上用于建立、管理和终止多媒体通信会话的应用层协议。 ... [详细]
  • 本文详细介绍了如何正确设置Shadowsocks公共代理,包括调整超时设置、检查系统限制、防止滥用及遵守DMCA法规等关键步骤。 ... [详细]
  • 在Qt框架中,信号与槽机制是一种独特的组件间通信方式。本文探讨了这一机制相较于传统的C风格回调函数所具有的优势,并分析了其潜在的不足之处。 ... [详细]
  • linux网络子系统分析(二)—— 协议栈分层框架的建立
    目录一、综述二、INET的初始化2.1INET接口注册2.2抽象实体的建立2.3代码细节分析2.3.1socket参数三、其他协议3.1PF_PACKET3.2P ... [详细]
  • 本文档介绍了如何使用ESP32开发板在STA模式下实现与TCP服务器的通信,包括环境搭建、代码解析及实验步骤。 ... [详细]
  • 在Effective Java第三版中,建议在方法返回类型中优先考虑使用Collection而非Stream,以提高代码的灵活性和兼容性。 ... [详细]
  • 使用 jQuery 实现页面加载进度条
    页面加载进度条是提升用户体验的重要工具,通过在页面头部显示一个加载状态,并在页面完全加载后隐藏,可以有效减少用户的等待焦虑。本文将详细介绍如何使用 jQuery 实现这一功能。 ... [详细]
  • Python 日志记录模块详解
    日志记录机制是软件开发中不可或缺的一部分,它帮助开发者追踪和调试程序运行时的各种异常。Python 提供了内置的 logging 模块,使我们在代码中记录和管理日志信息变得更加方便。本文将详细介绍如何使用 Python 的 logging 模块。 ... [详细]
  • RTThread线程间通信
    线程中通信在裸机编程中,经常会使用全局变量进行功能间的通信,如某些功能可能由于一些操作而改变全局变量的值,另一个功能对此全局变量进行读取& ... [详细]
  • 在Java开发中,如何利用ProcessBuilder类调用外部程序是一个常见的需求。本文将详细介绍ProcessBuilder类的使用方法,并提供示例代码帮助你更好地理解和应用。 ... [详细]
  • 八段代码完全控制Promise
    1.Promise的马上实行性varpnewPromise(function(resolve,reject){console.log(createapromise);resolve ... [详细]
  • 1#include2#defineM1000103#defineRGregister4#defineinf0x3f3f3f3f5usingnamespacestd;6boolrev ... [详细]
author-avatar
爱情丫丫2502895047
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有