小岑手上有幾個VPS,想着給博客作個鏡像站點的,想一想比較麻煩,就本身配置閒置VPS的nginx的反向代理,而後再經過DNSPOD作負載均衡。 配置配置以下(注:該配置僅對http生效,https的配置還請再問度娘。)前端
1. 新建2個目錄,放置緩存文件:
mkdir /home/cache/path -p
mkdir /home/cache/temp -p
2. 修改 /usr/local/nginx/conf/nginx.conf 新增如下代碼,主要是緩存相關設置,請放置於 http{ ##這裏 } 中,加在 log_format 上面或下面都可:
nginx
client_body_buffer_size 512k;
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 /home/cache/temp;
proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache_one:200m inactive=7d max_size=50g;
#200m是內存佔用,7d是7天無訪問刪除,5g是緩存佔具硬盤空間,預估一下空間,NGINX會緩存一切頁面
3. 修改虛擬主機配置文件,可另存成xxx .conf 放置於 vhost 下面
server
{
listen 80;
後端
server_name www.crazycen.com; #主機名
location / {
proxy_cache cache_one;
proxy_cache_valid 200 304 3d; #正常狀態緩存時間3天
proxy_cache_key $host$uri$is_args$args;
proxy_pass http://www.crazycen ; #這裏填寫你要代理的網站,因爲只是加速,就和主機名一致
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
expires 10d; #默認10天緩存
access_log /home/wwwlogs/vpsmm.log access; #日誌文件
}
4. 測試配置
/usr/local/nginx/sbin/nginx -t若提示:「the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok configuration file /usr/local/nginx/conf/nginx.conf test is successful」表示正常,如有錯誤請根據錯誤提示排除問題。
緩存
5. 緩存測試,能夠修改本地host文件,指向代理服務器ip,測試網站緩存是否正常,點擊幾下網站,df -sh 命令,查看 /home/cache 目錄大小,便可測試是否緩存成功。此腳本爲前端全緩存,後端動態更新後,前端不會自動修改。可手動清理cache目錄下文件。 6. 測試成功後,可去DNSPOD添加當前代理的A記錄。