nginx默认html缓存,nginx缓存配置

本文介绍了如何在CentOS6.4环境下配置Nginx作为缓存服务器,将Apache服务器的静态请求缓存到本地目录。通过设置proxy_cache_path、proxy_cache等参数,实现了静态文件的缓存,并在Apache关闭后仍能正常访问页面,验证了缓存的有效性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天试了一下nginx缓存配置,说到缓存相信大家应该都不陌生,也就是把访问后端web服务器的静态请求缓存到本地文件系统一个目录,后端一般是apache服务器居多!当前这两台机器完全可以在一台服务器上,只是开启不同的端口运行即可!下面我就写一个最简单配置的缓存服务器实验吧!

需求:将访问后端apache服务器的静态请求缓存到一个目录下。然后关闭后端的apache服务器,看看是否还能访问之前静态网页!

环境:CentOS6.4(64位)

1、安装nginx和apache

yum install nginx httpd -y

2、配置nginx,配置文件如下:

user nginx;

worker_processes 2;

worker_cpu_affinity 0001 0010;

worker_rlimit_nofile 65535;

error_log   /var/log/nginx/error.log info;

pid    /var/run/nginx.pid;

events {

worker_connections  65535;

}

http {

include       mime.types;

default_type  application/octet-stream;

log_format  access  ' $remote_addr - $remote_user [$time_local] "$request" '

'$status $body_bytes_sent "$http_referer" '

'"$http_user_agent" $http_x_forwarded_for';

sendfile on;

keepalive_timeout 0;

##缓存配置

proxy_connect_timeout 5;

proxy_read_timeout 60;

proxy_send_timeout 5;

proxy_buffer_size 16k;

proxy_buffers 4 64k;

proxy_busy_buffers_size 128k;

proxy_temp_file_write_size 128k;

proxy_temp_path /var/nginx/temp_dir;           设置临时目录

proxy_cache_path /var/nginx/cache levels=1:2 keys_zone=cache_one:200m inactive=1d max_size=30g;          设置缓存目录,和上面的目录必须在一个分区里面

gzip    on;

upstream appserver {

server 192.168.0.1:8080;

}

server {

listen       80 default;

server_name 192.168.0.1;

location /

{

proxy_pass ;

proxy_cache cache_one;

proxy_cache_methods GET HEAD POST;

proxy_cache_min_uses 1;

proxy_cache_valid 200 302 10m;       200和302状态缓存10分钟,10分钟后失效

proxy_cache_valid 404 1m;               404状态缓存1分钟

proxy_cache_valid any 1m;                其余状态缓存1分钟

access_log /var/log/nginx/192.168.0.1.log;

}

}

}

3、检查nginx配置文件并启动nginx

/etc/init.d/nginx configtest

如果出错应该是/var/nginx目录需要创建。

mkdir /var/nginx

/etc/init.d/nginx start

4、将/etc/httpd/conf/httpd.conf配置文件里面的端口修改为8080

5、写一个静态测试页面

echo "hello" > /var/www/html/index.html

6、测试

访问是否出现hello字样。    ------>正常会出现

查看/var/nginx/cache目录下是否有目录,目录中是否有文件?记录下文件的时间戳      -------有目录,目下有文件

关闭apache,继续刷新网页,是否能正常访问?      -------->可以继续访问

对着文件的时间戳,过10分钟再刷新是否出现502 Bad Gateway页面        -------->是

说明成功!

### 解决 VisualMaster 编辑器中使用 Newtonsoft.Json 报错的方法 当遇到错误提示 `未能找到类型或命名空间名称“Newtonsoft”` 时,通常是因为项目缺少必要的引用或配置不正确。以下是详细的解决方案: #### 1. 确认 NuGet 包管理器安装状态 确保已通过 NuGet 包管理器成功安装了 `Newtonsoft.Json` 库。如果尚未安装,则需执行以下操作来添加该包。 打开 **Visual Studio** 或者对应的集成开发环境 IDE,在解决方案资源管理器内右键单击项目的依赖项节点并选择 "Manage NuGet Packages..."[^1]。 在弹出窗口中的浏览标签页输入 “Newtonsoft.Json”,选中官方发布的最新稳定版本点击安装按钮完成加载过程。 #### 2. 添加 Using 指令至 C# 文件头部 为了能够正常使用来自 `Newtonsoft.Json` 的类和服务,应在相应的 `.cs` 文件开头处加入如下语句以便导入所需命名空间: ```csharp using Newtonsoft.Json; ``` 这一步骤允许开发者直接调用如 `JsonConvert.SerializeObject()` 这样的静态方法而无需每次都指定全路径[^2]。 #### 3. 验证目标框架兼容性 对于某些特定版本的 .NET SDK 和工具链来说,默认创建的新工程可能并不完全支持所有的第三方库。因此建议检查当前工作区所设定的目标运行平台是否与 `Newtonsoft.Json` 版本相匹配。一般情况下应选用不低于.NET Framework 4.5以上的版本作为构建基础。 然而需要注意的是,在较新的IDE环境中(比如 VS2022),传统的 TargetFrameworkVersion 设置方式已被简化为更直观的形式——即在项目属性页面下的Application选项卡里调整Target framework下拉菜单即可实现切换。 #### 4. 清理重建工程项目 有时即使完成了上述所有步骤仍然会出现编译期找不到类型的状况。此时可以尝试清理整个解决方案再重新生成一次,以此清除缓存数据并强制刷新内部索引结构。具体做法是在菜单栏依次选取 Build -> Clean Solution ,待完成后紧接着再次触发 Rebuild Solution 动作[^4]。 另外值得注意的一点是,如果是Unity环境下遇到了相同性质的问题,则应该优先考虑利用其内置Package Manager 来获取由官方维护过的 Json插件替代品,从而规避潜在冲突风险[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值