Перенести код с одного сервера на другой сервер
Я хотел перенести новый код на мой новый рабочий сервер.
У меня есть файлы кода на моем сервере разработки.
Вместо загрузки файлов с использованием FTP с моего локального компьютера, есть другой способ передачи кода с одного сервера на другой.
То, что я думаю, я сделаю zip-файл всего кода для передачи и поместил его в webroot. Чтобы он был доступен в интернете по какой-то ссылке http://www.mydomain.com/code.tar.gz теперь на другом сервере я просто запущу команду
wget http://www.mydomain.com/code.tar.gz
Будет ли эта передача сделана в течение нескольких секунд...? Могу ли я знать, это правильный подход?
3 ответа
Первое, что следует отметить, это то, что FTP не очень хорошая идея. Вы обязательно должны использовать SCP.
Следующее, что вы создаете файлы, вы хотите делать это с правильными разрешениями. Самый простой способ сделать это как пользователь root (тогда вы можете создавать файлы как любой пользователь). Но вы действительно не хотите разрешать root-доступ к scp / ftp. Это означает, что вы извлекаете файлы на сервер, а не выдвигаете их.
Я бы порекомендовал создать выпуск в вашей системе разработки (чтобы вы могли убедиться, что он правильно развернут), а затем использовать rsync для клонирования образа на сервер.
Вы можете использовать scp для перемещения образа резервной копии, но вам, вероятно, нужен root, чтобы правильно распаковать его. Как бы то ни было, если у вас возникли проблемы, единственное, что вам нужно, это повторить весь процесс снова - rsync копирует только измененные файлы.
Лучше всего будет использовать ANT или скрипт сборки для экспорта из вашего CVS/SVN/GIT/ чего угодно с определенным тегом, чтобы при следующем обновлении кода, если что-то пойдет не так, вы всегда могли вернуться к исходной кодовой базе.
В противном случае используйте rsync из чистой среды разработки. Убедитесь, что код принадлежит и работает от имени того же пользователя, затем сделайте следующее:
ssh devserver cd / path / to / webroot rsync -e ssh -avzP * prodserver: / path / to / webroot /
В качестве первого и чистого развертывания на новом производственном сервере, если у вас есть доступ по ssh, используйте RSYNC или SCP. Проверьте это: использование Rsync и SSH
Как сказал Глен, лучший план развертывания - использовать ANT или создать собственный сценарий для экспорта своего кода. Если у вас возникнут проблемы во время развертывания, вы можете выполнить откат.