あるサーバーから別のサーバーにコードを転送する

あるサーバーから別のサーバーにコードを転送する

新しいコードを新しい本番サーバーに転送したいと考えていました。

開発サーバーにコード ファイルがあります。

ローカル マシンから FTP を使用してファイルをアップロードする代わりに、あるサーバーから別のサーバーにコードを転送する方法が他にもあります。

私が考えているのは、転送するコード全体のzipファイルを作成し、それをWebルートに配置することです。そうすれば、インターネットでリンクを使用してアクセスできるようになります。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 /path/to/webroot rsync -e ssh -avzP * prodserver:/path/to/webroot/

答え3

新しい本番サーバーでの最初のクリーンなデプロイメントとして、ssh アクセス権がある場合は、RSYNC または SCP を使用します。次の点を確認してください。RsyncとSSHの使用

Glen が言ったように、最善のデプロイ プランは ANT を使用するか、独自のスクリプトを作成してコードをエクスポートすることです。デプロイ中に問題が発生した場合は、ロールバックできます。

関連情報