nginx同时作为负载均衡Web缓存服务器.docx
文本预览下载声明
Nginx的Web缓存服务主要由 proxy_cache相关指令集和fastcgi_cache相关指令集 构成。最新的Nginx 0.8.32版本,proxy_cache和fastcgi_cache已经比较完善,完全可以取代Squid,同时作为负载均衡服务器和Web缓存服务 器来使用。
Nginx从0.7.48版本开始,支持了类似Squid的缓存功能。这个缓存是把URL及相关组合 当作Key,用md5编码哈希后保存在硬盘上, 所以它可以支持任意URL链接,同时也支持404/301/302这样的非200状态码。虽然目前官方的Nginx Web缓存服务只能为指定URL或状态码设置过期时间,不支持类似Squid的PURGE指令,手动清除指定缓存页面,但是,通过一个第三方的Nginx 模块,可以清除指定URL的缓存。
Nginx的Web缓存服务主要由proxy_cache相关指令集和fastcgi_cache相关指令集构成,前者用于反向代理时,对后端内容源服务器进行缓存,后者主要用于对FastCGI的动态程序进行缓存。两者的功能基本上一样。
最 新的Nginx 0.8.32版本,proxy_cache和fastcgi_cache已经比较完善,加上第三方的ngx_cache_purge模块(用于清除指定 URL的缓存),已经可以完全取代Squid。我们已经在生产环境使用了 Nginx 的 proxy_cache 缓存功能超过两个月,十分稳定,速度不逊于 Squid。
在功能上,Nginx已经具备Squid所拥有的Web缓存加速功能、清除指定 URL缓存的功能。而在性能上,Nginx对多核CPU的利用,胜过 Squid不少。另外,在反向代理、负载均衡、健康检查、后端服务器故障转移、Rewrite重写、易用性上,Nginx也比Squid强大得多。这使得 一台Nginx可以同时作为“负载均衡服务器”与“Web缓存服务器”来使用。
1、Nginx 负载均衡与缓存服务器在 Linux 下的编译安装:
?1?????ulimit?-SHn?65535????2?????wget?ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.00.tar.gz????3?????tar?zxvf?pcre-8.00.tar.gz????4?????cd?pcre-8.00/????5?????./configure????6?????make??make?install????7?????cd?../????8???????9?????wget?/files/ngx_cache_purge-1.0.tar.gz???10?????tar?zxvf?ngx_cache_purge-1.0.tar.gz???11??????12?????wget?/download/nginx-0.8.32.tar.gz???13?????tar?zxvf?nginx-0.8.32.tar.gz???14?????cd?nginx-0.8.32/???15?????./configure?--user=www?--group=www?--add-module=../ngx_cache_purge-1.0?--prefix=/usr/local/webserver/nginx?--with-http_stub_status_module?--with-http_ssl_module???16?????make??make?install???17?????cd?../?? 19?????
2、/usr/local/webserver/nginx/conf/nginx.conf 配置文件内容如下:
????user?www?www;????????????worker_processes?8;????????????error_log?/usr/local/webserver/nginx/logs/nginx_error.log?crit;????????????pid?/usr/local/webserver/nginx/nginx.pid;????????????#Specifies?the?value?for?maximum?file?descriptors?that?can?be?opened?by?this?process.???????worker_rlimit_nofile?65535;????????????events???????{???????use?epoll;???????worker_connections?65535;???
显示全部