nginx配置支持memcache,但不支持写,支持读,所以读取部分由程序设置,整个代码如下
nginx的server段配置如下:
#将静态文件放入memcache
location ~* \.(gif|jpg|jpeg|png|bmp|swf|css|js)$ {
root /usr/share/nginx/html;
set $memcached_key $uri;
memcached_pass 127.0.0.1:11211;
error_page 404 = @goto404;
}
#从后端程序设置缓存
location @goto404{
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html/$fastcgi_script_name;
include fastcgi_params;
rewrite ^(.*)? /goto.php?q=$1 break;
}
goto.php源码如下:
define("PUBLIC_DIR", '/usr/share/nginx/html');
$file = $_GET['q'];
if( file_exists( PUBLIC_DIR . $file ) ){
$memcache = new Memcache;
$memcache->addserver("127.0.0.1", 11211);
$value = file_get_contents( PUBLIC_DIR . $file );
$memcache->set($file, $value, 0, 60000);
header("Location: {$file}");
}else{
header("Status: 404 Not Found");
}
相关文章
- 12-17在具有Nginx和Gunicorn的生产环境中,使用unix套接字或tcp绑定它们是否更好?
- 12-17如何在同一域中使用Nginx和Gunicorn运行Django和WordPress?
- 12-17如何在多线程模式下使用Gunicorn运行Flask
- 12-17win10下使用AIDA64建立副屏监控
- 12-17如何使用Applications Manager轻松监控Nginx?
- 12-17跟着团子学CO:熟练使用结果分析码实现各个场景下收入成本的匹配(一) KKA2/CJ88
- 12-17Stream API 使用(下)
- 12-17ruby – 如何使用Nginx,Passenger,Sinatra创建多个位置
- 12-17mac下sublime 配置使用markdown
- 12-17XE下 SVG格式的图标使用方法