天天看點

nginx緩存配置

今天試了一下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_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、測試

檢視/var/nginx/cache目錄下是否有目錄,目錄中是否有檔案?記錄下檔案的時間戳      -------有目錄,目下有檔案

關閉apache,繼續重新整理網頁,是否能正常通路?      -------->可以繼續通路

對着檔案的時間戳,過10分鐘再重新整理是否出現502 Bad Gateway頁面        -------->是

說明成功!

繼續閱讀