перенести код с одного сервера на другой сервер

перенести код с одного сервера на другой сервер

Я хотел перенести новый код на свой новый производственный сервер.

У меня есть файлы кода на сервере разработки.

Вместо загрузки файлов по FTP с моего локального компьютера есть другой способ передачи кода с одного сервера на другой.

Я думаю, что я сделаю zip-файл всего кода для передачи и размещу его в webroot. Так что он будет доступен в интернете с какой-нибудь ссылкой.http://www.mydomain.com/code.tar.gz теперь на другом сервере я просто выполню команду

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

Будет ли этот перевод выполнен за несколько секунд...? Могу ли я узнать, правильный ли это подход?

решение1

Первое, что следует отметить, это то, что FTP — не очень хорошая идея. Вам определенно следует использовать SCP.

Следующее, что нужно сделать, когда вы создаете файлы, вы хотите делать это с правильными разрешениями. Самый простой способ сделать это — как пользователь root (тогда вы можете создавать файлы как любой пользователь, который вам нравится). Но вы действительно не хотите разрешать доступ root scp/ftp. Так что это означает, что вы тянете файлы на сервер, а не отправляете их.

Я бы рекомендовал создать релиз на вашей системе разработки (чтобы вы могли проверить, правильно ли он развернут), а затем использовать rsync для клонирования образа на сервер.

Вы можете использовать scp для перемещения резервного образа, но вам, вероятно, понадобится root, чтобы правильно его распаковать. Однако, если у вас возникнут проблемы, то единственный выход, который у вас есть, — это повторить весь процесс еще раз — rsync копирует только те файлы, которые были изменены.

решение2

Лучшим решением будет использовать ANT или скрипт сборки для экспорта из CVS/SVN/GIT/чего угодно с определенным тегом, чтобы в следующий раз, когда вы обновите код, если что-то пойдет не так, вы всегда сможете вернуться к исходной кодовой базе.

Если это не удастся, используйте rsync из чистой среды разработки. Убедитесь, что код принадлежит и запущен от имени того же пользователя, затем сделайте следующее:

ssh devserver cd /путь/к/корневому/сайту rsync -e ssh -avzP * prodserver:/путь/к/корневому/сайту/

решение3

В качестве первого и чистого развертывания на новом производственном сервере, если у вас есть доступ по ssh, используйте RSYNC или SCP. Проверьте это:Использование Rsync и SSH

Как сказал Глен, лучший план развертывания — использовать ANT или создать собственный скрипт для экспорта кода. Если во время развертывания возникнут какие-либо проблемы, вы сможете откатить ситуацию.

Связанный контент