EC2（Amazon-Linux-2）にNginxを入れてブラウザで確認するまで2018冬 [画像で解説] Nginx編



しばらくAWSを触らなくなるかもしれないので備忘録も兼ねて2018年冬版として寄稿します


# この記事で行うこと
1. AWSにAmazon-Linux-2のEC2インスタンスを建てる
1. **Nginxをインストールし起動さる**　←ここ
1. **ブラウザからアクセスしエラーページが表示されることを確認**　←ここ


[EC2（Amazon-Linux-2）にNginxを入れてブラウザで確認するまで2018冬 [画像で解説] インスタンス編](https://qiita.com/ymzk-jp/items/ef9203a9b9f8ce5d34af)

[EC2（Amazon-Linux-2）にNginxを入れてブラウザで確認するまで2018冬 [画像で解説] Nginx編](https://qiita.com/ymzk-jp/items/49daf14495ba090b3187)


# 前提
- AWSに登録済みでアカウントを持っている
- 対象読者は初学者を意識しています
- 脳死で作業できるレベルまで噛み砕くことを意識して書いています
- Windows10を使用してます
- ブラウザはChromeを使用しています
- この記事内の高いとか良いとか抽象的な言葉はすべて個人的な感想です


# EC2にログインする

EC2にログインするにはSSHを使用します

windowsでssh接続するにはTeratermやPuTTYのようなターミナルソフトを使うのが一般的です。どれもそれぞれ良し悪しがあるので、結局使い慣れたツールを使うのがよろしいかと思います。
今回はRloginを使用します
[Rlogin入門](https://qiita.com/pocket8137/items/e294715b5154487b9ae0)

Rloginのサーバー接続設定は以下の通りです

```
エントリー: 自由
ホスト名: EC2のアドレス(分からなければEC2のIPv4パブリックIP)
ログインユーザー: ec2-user（デフォルト値）
SSH認証鍵: インスタンス生成時発行したキーペア（～.pemだと思われる）
```

![rlogin_setting.png](https://qiita-image-store.s3.amazonaws.com/0/102978/ca55734c-b7ac-4324-7d1f-d0ff07445f1e.png)
- Rloginの設定


SSH認証鍵はインスタンス生成時にダウンロードした鍵を選択して下さい
![key_pair.PNG](https://qiita-image-store.s3.amazonaws.com/0/102978/419cd675-c598-4596-fc89-46d770bce5ed.png)
- この時ダウンロードした鍵ファイル


ログインに成功すると下の写真の様になります
![login_success.png](https://qiita-image-store.s3.amazonaws.com/0/102978/b98d7ec9-a5fa-e629-ff36-72832447862b.png)


#### ここまでで失敗する場合
- Rloginの設定が誤っている
- インスタンスに設定されているセキュリティーグループが誤っている
- ELBを使用しておりELBのセキュリティーグループが誤っている
- セキュリティグループでsshを許可していない
- セキュリティグループで接続元IPアドレス制限を掛けていてかつ接続元IPアドレスが誤っている
- 会社などから接続する際会社のFWなどでSSHなどのポート制限を受けている
- 使用しているPCがインターネットに接続されていない

辺りが考えられます




# EC2の初期設定

Nginxを導入する前に少しだけEC2の整備を行います
下記のコマンドを一つづつ順番に実行させます
なおこの初期設定はやらなくても動きます

#### EC2を日本時間と日本語に対応させる


```
sudo yum update -y
sudo timedatectl set-timezone Asia/Tokyo
sudo localectl set-locale LANG=ja_JP.UTF-8
sudo localectl set-keymap jp106
```

#### パッケージを自動更新させる

##### yum-cronのインストール

```
sudo yum install yum-cron -y
```

##### vimでyum-cronを編集

```
sudo vim /etc/yum/yum-cron
```

```shell:yum-cron
apply_updates = yes
```

##### cronを自動起動させる設定

```
systemctl status yum-cron
sudo systemctl start yum-cron
sudo systemctl enable yum-cron
```



##### vimって言われてピンと来ない方用
[知識0から始めるVim講座](https://qiita.com/JpnLavender/items/fabcc79b4ab0d52e1f6d)

`i`で文字入力モード
`Esc`でノーマル移動モード
文字を入力削除する場合は文字入力モードで行います
保存や中断はノーマルモードで行います
`wq`で保存して終了
`q!`で保存せず終了



# Nginxのインストール


Nginxをインストールします
amazon-linuxでは通常の`yum install`ではなく専用のコマンドが用意されています。そちらを使う必要があります。これはAWS側がAWS様にチューニングされたアプリケーションを使用してほしいという意図が理由です

#### Nginxのインストール

```
sudo amazon-linux-extras install nginx1.12 -y
```


#### 初期コンフィグのバックアップ

```
sudo cp -a /etc/nginx/nginx.conf /etc/nginx/nginx.conf.back
```


#### nginxの起動とインスタンス起動時自動起動の設定

```
sudo systemctl start nginx
sudo systemctl enable nginx
systemctl status nginx
```


# ブラウザからアクセスしエラーページが表示されることを確認


EC2インスタンスの設定画面からインスタンスのIPv4パブリックIPを控えます。
控えたIPアドレスをブラウザのURLバーに直接打ち込みページに移動します

![ec2_dash_board.png](https://qiita-image-store.s3.amazonaws.com/0/102978/1ce60969-df10-abdd-6a32-22ef5c74e782.png)
- EC2インスタンスのIPv4パブリックIPを確認



![access_to_ec2_via_public_dns.png](https://qiita-image-store.s3.amazonaws.com/0/102978/7ff0102f-1b18-a262-ab9b-2d6c2ff6c8d2.png)
- URl直打ちで遷移


画像の様にエラーページが表示されれば成功です



# 終わりに

何番煎じか計り知れませんがしっかり覚えたことを残していきていきたいとおもいますまる

前回の記事はこちら

前回はそもそもEC2ってどうやって建てるの編です
[EC2（Amazon-Linux-2）にNginxを入れてブラウザで確認するまで2018冬 [画像で解説] インスタンス編](https://qiita.com/ymzk-jp/items/ef9203a9b9f8ce5d34af)