Apache存储js文件的缓存

时间:2015-09-21 05:17:18

标签: angularjs git apache caching server

我更新了在rackspace托管的远程服务器上内置angularjs的Web应用程序前端,该服务器已经拥有我在此更新前一天上传的同一个Web应用程序的先前版本。上传是通过本地(git push) - >完成的。 bitbucket - >远程服务器(git pull)。上传后我在firefox中重新加载了网页,但它仍然加载了以前的版本,我在firefox的私人窗口和新的Chrome窗口中尝试了相同但它仍然加载了以前的版本。我试过这些东西:

1)上传我用过的,

 git add --all  
 git commit -m "my commit" 
 git push origin master

这里origin是我的网络应用程序的bitbucket存储库URL。然后在服务器上我做了

git fetch 

git reset --hard origin/master

每次都适用于我,php文件在上传文件后立即更新,但是却提供了angularjs或js文件的旧版本。

2)我检查了是否在bitbucket上更新了ManagerService.js文件,以确保git push运行良好,并且bitbucket上有新版本的文件。

3)我使用VIM检查了服务器上的文件,ManagerService.js文件在服务器上有新的更新代码。

4)我通过给出手机中文件的绝对URL(例如www.example.com/js/services/ManagerService.js)来加载ManagerService.js的url,但仍然提供了旧文件。 到现在为止,我确信它正在发生,因为Apache创建了我的js文件的缓存所以我用Google搜索并在我的服务器的终端上运行此命令 如此网址(here

中所述
sync; sudo echo 3 > /proc/sys/vm/drop_caches

5)我还改变了我在ManagerService.js中更改的行的顺序,并再次上传。

但仍然没有成功。 最后我git将项目克隆到一个新目录中并且运行良好。 如果我这次遇到同样的问题,我应该怎样做才能获得新的更新文件。

1 个答案:

答案 0 :(得分:0)

我认为rackspace通过CDN提供静态内容。检查有什么可以避免的。我在使用Google App Engine环境时遇到了同样的问题。更改文件名并部署您的应用程序将解决您的问题。