※ 下記ブログの転載です。インスタンスの作成までは、ブログの方をご参考くだしあ。
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
sshでログイン
$ ssh -i ~/.ssh/{秘密鍵名} -p {ポート番号} {username}@{ec2の繋ぎ先}
ここまで出来たら、念のためインスタンスをリブートしとく。
Elastic IPs の設定
後で変更になると色々と大変と聞いているので、まずこれをやっておいたほうがよいらしいです?
インスタンスのIPを固定する。EC2のダッシュボード左にある、Elastic IPsメニューを開いて下記操作します。
注)この設定をすると、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アドレスと叩くと、下記画面になってるはず。
DNSの設定
お名前.comを例にしていきます。
DNSレコード設定画面で、ホスト名に「www」をいれたものと、空にしたものの2個を追加(Aレコード)。
例)画像の場合、「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}になっていないと正常に動かない?
以上で完了。