LoginSignup
24
28

More than 5 years have passed since last update.

EC2+nginx+バーチャルホスト+独自ドメイン設定まで行う手順まとめ

Last updated at Posted at 2013-08-20

※ 下記ブログの転載です。インスタンスの作成までは、ブログの方をご参考くだしあ。
http://www.rokurofire.info/2013/08/20/ec2_nginx/

ec2-userでログイン

インスタンスを作成したら、早速terminalでssh接続してみます。

$ ssh -i ~/.ssh/{鍵名}.pem ec2-user@{繋ぎ先}
# インスタンス作成時にssh port22で設定しておく

rootパスワード変更

$ sudo passwd

ユーザー追加作業

$ sudo adduser username
$ sudo passwd username

wheelグループ追加。sudoできるようにする。

$ sudo usermod -G wheel {username}
$ sudo vi /etc/sudoers
# 下記をコメントイン
# wheel ALL=(ALL)   NOPASSWD: ALL

sshで接続

$ ssh-keygen -t rsa

ローカルでssh-keygenし、.pubの方を、authorized_keysという名前で設置してパーミッション変更。

$ su username
$ mkdir ~/.ssh
$ chmod 700 ~/.ssh
$ cd ~/.ssh/
$ chmod 600 authorized_keys

# authorized_keysの所有者は {username}:{username}

sshポート番号変更

ログインし直す直前にやる。

$ sudo vim /etc/ssh/sshd_config

#Port 22
  ↓
Port 10101

# sshリスタート
$ sudo service sshd restart

EC2 ダッシュボードの「Security Groups」
EC2_Management_Console.jpg

デフォルトの22を削除し、新たに設定したポート番号を追加
EC2_Management_Console2.jpg

sshでログイン

$ ssh -i ~/.ssh/{秘密鍵名} -p {ポート番号} {username}@{ec2の繋ぎ先}

ここまで出来たら、念のためインスタンスをリブートしとく。

Elastic IPs の設定

後で変更になると色々と大変と聞いているので、まずこれをやっておいたほうがよいらしいです?
インスタンスのIPを固定する。EC2のダッシュボード左にある、Elastic IPsメニューを開いて下記操作します。

「Associate」を選択。
elastic1.jpg

IP固定したいインスタンスを選択。
elastic2.jpg

注)この設定をすると、sshで接続する時コマンドも変わるので注意。軽くハマりました。

ssh -i ~/.ssh/{鍵名} -p {port番号} {username}@ec2-ほげほげ〜
↓
ssh -i ~/.ssh/{鍵名} -p {port番号} {username}@{固定したIP番号}

nginx インストール

# yum  update
$ sudo yum update

# nginx インストール
$ sudo yum -y install nginx

# nginx 起動
$ sudo /etc/init.d/nginx start

nginxを起動して、設定したIPアドレスと叩くと、下記画面になってるはず。

nginx.jpg

DNSの設定

お名前.comを例にしていきます。
DNSレコード設定画面で、ホスト名に「www」をいれたものと、空にしたものの2個を追加(Aレコード)。

domain.jpeg
例)画像の場合、「www.ruilog.info」「ruilog.info」の2つ。

nginx バーチャルホストの設定

コマンドメモ

$ nginx -V #バージョンを調べる
$ sudo /etc/init.d/nginx restart #リスタート
$ sudo /etc/init.d/nginx configtest #設定ファイルのチェック
$ sudo vim /etc/nginx/nginx.conf #設定ファイル
$ sudo vim /etc/nginx/conf.d/virtual.conf #バーチャルホストの設定

設定ファイルの変更(今回、vhosts用の別ファイルなどは利用せず)

$ sudo vim /etc/nginx/nginx.conf

# サーバの設定追加
server {
    listen 80;
    server_name www.hogehoge.com;
    location / {
        root /var/www/vhosts/test/;
        index index.html;
    }
}

# ドキュメントルートは /var/www/vhosts/test/ とする
# ドキュメントルートのディレクトリ所有者が{username}になっていないと正常に動かない?

以上で完了。

参考にさせていただいたサイト様

24
28
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
24
28