小岑手上有几个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 上面或下面均可:
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记录。
文章评论
这个适合变化不大的网站,如自己的博客,企业网站!