很抱歉我的英语不够好所以我不知道如何搜索它。
作为标题,我想在更新新数据时阻止网站(例如:源代码或数据库)。
我尝试制作index.html文件并上传到主机但网站仍然可以访问index.php。 我也尝试重命名或删除index.php文件。也不成功!
这就是为什么我提出这个问题的原因。
摘要:如何在更新时阻止或停止用户访问网站?
答案 0 :(得分:2)
从用户的角度来看,阻止不是一个好方法。通常你想避免停工。
只需symlink您网站的最新版本到您的实时文件夹:
/var/www/myfancysite -> /var/data/myfancysite-20151010121212
在网站的 new 文件夹myfancysite-<datetime>
中进行全新结帐,并制作数据库的副本。根据需要应用数据库迁移,只需将符号链接切换到末尾带有新时间戳的文件夹。在理想情况下,您的停机时间为零。在最重要的情况下,如果出现问题,您可以快速回滚到上一版本:只需将符号链接恢复到以前的版本。
如果您仍需要添加一些维护屏幕,只需将符号链接更改为包含临时站点的文件夹:
/var/www/myfancysite -> /var/data/myfancysite-maintenance
使用部署脚本也可以完全自动化,这样您就不必像deploy <site>
和deploy rollback <site>
那样手动完成。
一些有助于完成这些任务的工具:
答案 1 :(得分:1)
使用“维护”消息在App / webroot中创建index.html文件。
然后在你的AppController :: beforeFilter方法
中if($this->request->clientIp() != 'YOUR IP ADDRESS') {
$this->redirect('/index.html');
}
您的IP地址可以在localhost :: 1 或 127.0.0.1 上,在远程主机上使用您的真实IP http://www.myipaddress.com/show-my-ip-address/
使用这种方法,您仍然可以访问您的Web应用程序,但其他人都会看到index.html页面。