X1运营交流
经验分享,附件与网站程序如何分离?
507
43

现在的服务器越来越便宜,但是带宽却限得很死,以前阿里云搞活动都只有1M带宽,现在腾讯云加入竟争就好多了,可以有3M甚至5M。

一旦发现网站变慢,很大可能就是带宽不足影响的。因为带宽卡住了。


虽然云服务器可以随时加带宽,但是费用算下来,比新买一台服务器还贵。


要解决这个办法,就是把网站程序与附件分离,比如把 /public/ 目录移到新的服务器去。


注意是手工定时的移过去,比如每个月移一次。然后配置服务器,让他智能的选择访问,如果网站所在服务器没有附件的话,就去备用服务器读取。


第一步,先删除 /public/.htaccess 此文件, 再修改网站根目录的文件 .htaccess 代码类似如下

以下是隐藏的内容需要回复才可见,你回复后,需要刷新网页才可见!
************************************


其中下面这条代码的意思就是强制把static目录,访问备用服务器的文件,即使本机有,也不访问。但.html结尾的文件就不要访问备用服务器的,因为单页路由要用到,不能跳来跳去。如果还有其它特殊的文件不要使用远程服务器的话,就把!\.html$ 改成 !(\.html|\.js|\.css)$

RewriteCond %{REQUEST_URI} !\.html$ 
RewriteRule ^(.*)public\/static\/(.*)$ https://x1.soyixia.net/bak/static/$2 [R,L]




下面这个就是代表如果本地文件不存在,才访问备用服务器的文件。如果本机存在,比如新上传的,就访问本机的。不存在,才访问备用服务器的。

  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^(.*)public\/uploads\/(.*)$ https://x1.soyixia.net/bak/uploads/$2 [R,L]



注意事项,把static目录,也访问备用服务器的话, 就会涉及到跨域的问题,有些字体图标会受影响因跨域不能访问,这个时候就要修改备用服务器的apache配置。加多下面的代码

Header set Access-Control-Allow-Origin *

如下图,修改后重启即可解决跨域的问题





Nginx服务器解决跨域问题的话,要加如下代码

location / {  
  add_header Access-Control-Allow-Origin *;  
}


5
赏礼
赏钱
收藏
点击回复
      全部留言
  • 43
0 赏钱 赏礼回复
  • DZ12345 普通粉丝 消费:0元 25天前 10:032楼
    学习
0 赏钱 赏礼回复
0 赏钱 赏礼回复
  • 王荺 普通粉丝 消费:0元 26天前 00:294楼
    学习了
0 赏钱 赏礼回复
  • sinmengnet 普通粉丝 消费:0元 3个月前 19:595楼
    看看,应该不错
0 赏钱 赏礼回复
  • 艺猫 普通粉丝 消费:5.1元 4个月前 20:186楼

    学习了,老大改天组织次服务器的团购

0 赏钱 赏礼回复
  • 洪武元年 普通粉丝 消费:195.41元 4个月前 18:40
    华为
    7楼
    看下,谢谢
0 赏钱 赏礼回复
0 赏钱 赏礼回复
  • wr1688 普通粉丝 消费:1939.53元 4个月前 14:09
    华为
    2楼
    老大,人呢,出来透透风撒
0 赏钱 赏礼回复
  • 船长 普通粉丝 消费:1.48元 4个月前 10:313楼

    学习学习!

0 赏钱 赏礼回复
  • aria 普通粉丝 消费:1897.78元 4个月前 08:424楼
    学习了
0 赏钱 赏礼回复
  • Abner-1 普通粉丝 消费:0元 4个月前 08:17
    小米
    5楼
    学习交流
0 赏钱 赏礼回复
  • 773987997 普通粉丝 消费:1569.78元 4个月前 08:176楼

    我看看

0 赏钱 赏礼回复
  • 闫伟-1 普通粉丝 消费:512.02元 4个月前 08:05
    华为
    7楼
    学习学习
0 赏钱 赏礼回复
  • 星网科技 普通粉丝 消费:1975.95元 4个月前 23:278楼

    谢谢老大,非常有用,站长福力,

0 赏钱 赏礼回复
更多回复
请选择要切换的马甲: