将代码从一台服务器转移到其他服务器

我想将新代码转移到新的生产服务器中。

我的开发服务器上有代码文件。

除了从本地机器使用FTP上传文件外,还有其他方法可以将代码从一台服务器传输到另一台服务器。

我在想我会把整个代码的zip文件转移并放在webroot中。 所以这将是在互联网上访问一些链接http://www.mydomain.com/code.tar.gz现在在另一台服务器上我只是运行命令

wget http://www.mydomain.com/code.tar.gz 

这个转移会在几秒钟内完成吗? 我可以知道这是正确的做法吗?

首先要注意的是FTP不是一个好主意。 你一定要使用SCP。

接下来的事情是,你正在创build文件,你想这样做与正确的权限。 最简单的方法是以root用户身份(然后您可以创build任何用户喜欢的文件)。 但是你真的不想让root scp / ftp访问。 所以这意味着你将文件拖到服务器上 – 不要推送它们。

我build议在你的开发系统上build立一个版本(所以你可以检查它已经正确部署),然后使用rsync将图像克隆到服务器上。

您可以使用scp来移动备份映像 – 但是您可能需要root才能正确解压。 如果你遇到问题,那么你唯一的办法就是重复整个过程 – rsync只复制已经改变的文件。

真正要做的最好的事情是使用ANT或者一个构build脚本从CVS / SVN / GIT /任何一个特定的标签中导出,这样下一次你升级代码时,如果出现问题,你可以随时回到原来的代码库。

如果不这样做,请使用干净的开发环境中的rsync。 确保代码由同一用户拥有并运行,然后执行以下操作:

ssh devserver cd / path / to / webroot rsync -e ssh -avzP * prodserver:/ path / to / webroot /

作为您的新生产服务器中的第一个干净部署,如果您有ssh访问权限,请使用RSYNC或SCP。 看看这个: 使用Rsync和SSH

正如Glen所说,最好的部署计划是使用ANT或构build自己的脚本来导出代码,如果在部署期间遇到任何问题,可以回滚。