0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

EC2に直接ファイルを置きたい | SCPコマンド

Last updated at Posted at 2021-11-29

EC2に何かファイルを直接置きたい、と思った時の手順です。

例えば nuxt で何かを作ってbuildした後に、それをアップロードするやり方です。
「gitでできるじゃん」、とおもうかもですが、そういう通常パターンが通じなかった場合のやり方。

ビルド

$ npm run build

デスクトップで作業する

プロジェクトのdistにかき出されたファイルを、デスクトップに移動する
(移動しなくても良いんだけど、今から何を上げるのか、上げたのか、わかりやすいので)

$ mv /Users/YOURNAME/nuxt_project/dist/ /Users/YOURNAME/Desktop/dist

デスクトップに移動+そこに存在するのか確認する。

$ cd /Users/YOURNAME/Desktop
$ ls -l
drwxr-xr-x   7 YOURNAME  staff       224 Feb 24 14:33 dist

テスト

はじめてで不安な場合は、まず練習用に、空のテキストをアップロードして試しましょう。
間違っておかしな場所に上がっちゃっても、ノープロブレムなファイルを用意します。

$ touch test.txt

フォルダを圧縮する(tar.gzコマンド基本形)

test.txtを圧縮する場合はコレ

$ tar zcvf test.tar.gz test.txt

distフォルダを圧縮する場合はコレ

$ tar zcvf dist.tar.gz dist

.ssh/config

アップロードのコマンドを打つ前に ssh でログインできる状態にしておく。
.ssh の config をやっておけば鍵や、bastion(踏み台サーバー)も通過できます。

.ssh/config を開いて設定をしておきます。sshログインできるか先に確認すること

秘密鍵x.pemを同じフォルダに放り込んでおいて下さい。

Host x-web-1
  HostName x.x.x.x
  User ecx-user
  Port 22
  IdentityFile ~/.ssh/x.pem
  ProxyCommand ssh -W %h:%p x-bastion

Host x-bastion
  HostName x.x.x.x
  User ecx-user
  Port 60xxx
  IdentityFile ~/.ssh/x.pem

アップロードする(SCPコマンド基本形)

もっかいpwdで自分がデスクトップをみているのを確認して、

$ pwd
/Users/YOURNAME/Desktop

対象ファイルがデスクトップにあることを確認して、

$ls -l

こちら↓
scp (対象ファイル) (対象サーバー):(ディレクトリ)

★test.txtを圧縮したやつをおくには

$ scp test.tar.gz x-web-1:/var/www/html

★distを圧縮したやつをおくには

$ scp dist.tar.gz x-web-1:/var/www/html

EC2にログインして移動する。

ログイン

$ ssh x-web-1

移動する

$ cd /var/www/html

解凍する(基本コマンド)

$ tar zxvf test.tar.gz
$ tar zxvf dist.tar.gz

解凍するとその階層に「test.txt」または「dist」ディレクトリが置かれます。

アップロードした圧縮ファイルは削除する

何回かやってると、ゴミが溜まっちゃうのでこまめに消す。

$ rm -r test.tar.gz
$ rm -r dist.tar.gz

ファイル名がそのままでは、domain-name.com/dist/になってしまい、カッコ悪いので

$ mv dist special-contents

↑これでディレクトリ名は書き換えられます(最初から名前を変えてアップしたほうがスマートなのでは・・)

これでディレクトリがちゃんときれいになってるか確認

$ ls -l

作業終了

$ exit

注意点

このやり方だと、もしgitで監視してる場所を書き換えると diff が出てしまい、
git pullができなくなるので、必ずgit監視外の部分でやる。
そもそも git コマンドを使わないでアップロードする、というのが邪道ですが。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?