我想将新代码转移到新的生产服务器中。
我的开发服务器上有代码文件。
除了从本地机器使用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自己的脚本来导出代码,如果在部署期间遇到任何问题,可以回滚。