Nginx Proxy Cache 使用Nginx的反向代理缓存功能

如果你不想丢掉LAMP平台,又想提高服务器性能,使用Nginx的反向代理功能就可以了。将Apache作为后端服务器处理PHP程序,前端交由Nginx处理。

单纯的Proxy对性能提升没有大的帮助,服务器处理PHP脚本的性能依旧受限于Apache,这时需要加入Proxy Cache,也就是代理的缓存。在Nginx和Apache间建立缓存,可以大幅提升服务器性能。

具体在nginx.conf中配置:
在http部分加入:
proxy_cache_path /usr/local/nginx/proxy_temp levels=1:2 keys_zone=NAME:10m;
在server部分加入:
location ~ ^(.+\.php)(.*)$ {
proxy_pass http://127.0.0.1:8000;
proxy_redirect off;
proxy_set_header Host $host;
proxy_cache NAME;
proxy_cache_valid 200 302 1h;
proxy_cache_valid 301 1d;
proxy_cache_valid any 1m;
}

以上配置实现了Nginx将.php文件交由Apache处理,并在/usr/local/nginx/proxy_temp目录下缓存。

参数说明:
proxy_cache_path path [levels=number] keys_zone=zone_name:zone_size [inactive=time]
[max_size=size];
指令指定缓存的路径和一些其他参数,缓存的数据存储在文件中

proxy_pass URL
确定需要代理的URL,端口和socket

proxy_cache zone_name;
设置一个缓存区域的名称

roxy_cache_valid reply_code [reply_code ...] time;
为不同的应答设置不同的缓存时间

你可能感兴趣的:(Nginx Proxy Cache 使用Nginx的反向代理缓存功能)