如何将我的整个网站从测试区域复制到webhost而不会中断

时间:2012-06-10 22:07:55

标签: git ssh lamp sftp scp

我的webhost服务器上没有可用的git,我真的想用它来跟踪我的网站开发。我想出的最好的解决方案是在我的家庭LAMP安装本地开发,然后在我有一个工作版本时将所有文件scp到我的webhost。

是否有一个程序/标准方法可以同时引入网站的更改?我的想法是,当(可能很大的)文件集正在复制时,用户不会看到混乱的过渡网页。

谢谢!

3 个答案:

答案 0 :(得分:4)

将旧代码库换成新代码库的最原子方法是将所有代码库复制到旧目录中的新目录中,然后重命名这两个目录,如下所示:

// assuming your working copy is in ~/workingcopy
// and your webserver document root is in /path/to/webroot on server "webhost"
// copy all your files to /path/to/webroot.new:
scp -r ~/workingcopy webhost:/path/to/webroot.new
// then run on the server:
mv /path/to/webroot /path/to/webroot.old && mv /path/to/webroot.new /path/to/webroot

之后,您可以备份或删除旧的代码库,仍然存储为/path/to/webroot.old

答案 1 :(得分:0)

我尝试使用SSH,在Windows上使用WinSCP。 (如果你在窗户上)。在linux和mac上(我认为)你可以尝试使用Putty。

答案 2 :(得分:0)

那么,在这种情况下,即使你的网络主机中有Git也无法解决过渡问题。

如果您的Web主机(例如ssh)拥有更多权限,则可以通过目录链接(假设您处于LAMP堆栈中)来实现。您可以将新版本复制到新目录,而不仅仅是在完成复制后更改目录链接,一次性更新所有内容。