如果我有错误修复或更新,如何将代码更改应用于正在运行的网站? 我能想到的最简单的方法是在不同的目录中设置相同的站点来测试更改,然后让我的网站离线一段时间来更新文件。
有更好的方法吗?
答案 0 :(得分:15)
创建实时网站的副本当然是一个很好的步骤,在将副本应用到实际网站之前应用更改。
常见的生产环境还包括一系列步骤。
答案 1 :(得分:4)
Jon Cram的回答非常好,但我认为在维护开发环境时还有一些非常重要的事情:
DELETE
没有WHERE
并且您遇到了麻烦。 (你有备份,对吗?)svn update
一样简单或足够复杂,需要它自己的应用程序和库。请参阅http://phing.info/trac/以获取一个好例子。另外(无耻的插件),这是我刚才写的关于沙箱重要性的帖子:http://chr.ishenry.com/2010/02/22/sandboxes/
答案 2 :(得分:1)
您可以在不同的子域(或子文件夹)上运行新版本,只需在测试后更改域处理。
答案 3 :(得分:1)
不,没有更好的方法(呃!)
嗯,好吧,可能会有一些更好的做法,因为你应该有一个单独的机器用于测试目的。但除此之外,不要指望启发。您只需在负载较低时(也就是在夜间)使网站脱机并更改/替换内容。
答案 4 :(得分:1)
在用于开发webstie的计算机上创建Live Site的副本。跟着这些步骤:
设置本地测试服务器
使用Xamp或WampServer,您可以在开发计算机上轻松设置本地服务器。只需将所有服务器程序包安装在一起,然后将您的网站文件复制到htdocs文件夹即可然后,您只需访问浏览器中的http://localhost/即可打开您的网站。我个人建议使用Xamp
来源控制
使用Subversion,Mercurial或Git来跟踪您对网站所做的更新。这些软件会跟踪您对每个文件所做的更改。它们将使您能够撤消在开发过程中可能出现的网站错误
保留网站的暂存实时副本
将您网站的暂存实时副本保存在服务器上的任何其他位置,这与公开可用的实时网站完全相同。更新并测试站点的本地副本后。使用源代码管理软件更新登台实时网站。当临时站点变得稳定并且正常工作时。再次使用源代码管理软件更新公共可用的实时站点。这样,您的网站将在您更新时始终保持在线状态。
它是一个相当昂贵的解决方案(我个人不推荐它,因为第一种方法也会确保相同的结果)。如果没有可用的停机时间,请在其他辅助服务器上运行另一个站点副本,以便在您想要更新主站点时将用户转移到该站点。更新后,您可以将用户转移回实际站点。您还可以使用状态服务器坐在另一台服务器上,以确保在用户从一个站点转换到另一个站点时记录和维护每个会话。
安装Xamp将您的站点文件复制到xamp \ htdocs文件夹。此复制的站点将是您的本地副本。通过在浏览器中输入并访问http://localhost/,更新网站并在本地进行检查。检查网站后。使用filezilla ftp客户端更新所有文件(上传时选择更新新文件。)。
答案 5 :(得分:1)
在非常繁忙的网站上 AND 严重SLA的停机时间 AND 使用apache webserver AND 进行涉及大量文件的更新(例如: > 10),超过“Jon Cram”和“Chris Henry”的建议你可以使用这个简单的技巧:
在您的实时环境中使用2个文档根目录,第1个包含旧文件,第2个包含新文件(您已在测试中进行测试),以及符号链接以分享您无法复制的内容,然后:
1. in the apache config file switch the document root from old to new
2. check the config file (apachectl -S)
3. graceful restart the apache (apachectl graceful)
apache将完成在旧环境中为旧请求提供服务,并在新环境中启动新请求。
可能你不使用apache,但很多web服务器都有这个功能。
答案 6 :(得分:0)
您应该在计算机上使用您网站的副本。然后进行更新/代码更改等。使用Filezilla FTP client更新网站。 Filezilla将只替换您更新的文件,在此过程中您的网站将在线。