• 利用Nginx反代网站,让你的网站打开速度更快

    发布时间:2015-12-1 18:04 Tuesday 作者:苏苏 阅读(2425)

      如果我们有使用海外VPS搭建中文网站的用户肯定会有所感受到线路的不稳定,甚至大量丢包的问题,尤其是电信宽带的用户从晚上到半夜左右的时候尤为严重。不论出于何种原因导致的,我们必须自己考虑解决,要么选择亚洲线路或者国内服务器,要么可以采用反代加速的方法让其网站的速度加快。

      也许有人会问,为什么不直接把网站放到亚洲或者国内,还要搞个反代,多麻烦。那是因为亚洲VPS比较贵,反代的话,用一个低配的VPS就可以了。


      第一、安装NGINX环境

      这里我们可以使用直接编译源的方法安装NGINX,也可以直接用军哥的LNMP一键包安装带有NGINX环境的系统环境


      第二、添加站点配置文件

      A - 这里可以用LNMP环境包vhost添加站点,也可以手工在nginx环境中添加虚拟主机站点配置。

      vi /usr/local/nginx/conf/vhost/example.com.conf

      红色example.com部分是我们的站点域名。

      B - 设置目录权限

      mkdir /home/cache/path -p

      mkdir /home/cache/temp

      chmod 777 -R /home/cache

      设置缓存目录权限存放路径。

      C - 配置nginx conf文件

      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:5m inactive=7d max_size=1g;

      #5m为内存占用,1g为最大硬盘占用,cache_one为缓存区名称,如果需要修改对应修改。

      需要对应B中的路径进行缓存的配置,一般直接用默认不要修改。

      D - 配置example.com.conf

      listen 80;

      server_name example.com www.example.com;

      #绑定的域名

      index index.php;

      #默认首页

      access_log off;

      #off 关闭日志

      location / {

      proxy_cache_key "$scheme://$host$request_uri";

      #缓存key规则,用于自动清除缓存。

      proxy_cache cache_one;

      #缓存区名称,与前面定义的相同

      proxy_cache_valid 200 304 3h;

      proxy_cache_valid 301 3d;

      proxy_cache_valid any 10s;

      #200 304状态缓存3小时

      301状态缓存3天

      其他状态缓存(如502 404)10秒

      proxy_set_header X-Real-IP $remote_addr;

      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

      #向后端传递访客ip

      proxy_set_header Referer http://example.com;

      #强制定义Referer,程序验证判断会用到

      proxy_set_header Host $host;

      #定义主机头

      proxy_pass http://1.2.3.4;

      #指定后端ip,可以加端口

      #proxy_cache_use_stale invalid_header error timeout http_502;

      #当后端出现错误、超时、502状态时启用过期缓存,慎用。

      }

      }

      域名解析的时候,指向前端IP就可以。注释部分我们可以学习一下,然后根据自己的需要是否需要进行修改。


      第三、重启NGINX生效

      /etc/init.d/nginx restart

      通过上面的4步骤,就可以实现利用nginx给我们的网站加速,比如利用一台香港VPS低配置NGINX,给我们在网站数据在美国的VPS网站加速,可以提高网站用户访问的速度体验。以上方法仅限用在正规渠道。

    特别申明:若无说明,文章均为原创,转载时请注明本文地址,谢谢合作!
    本文链接: