さて、前回Ruby周り、MariaDBの設定が終わったので(rails デプロイへの道:さくらVPSリベンジ編③(Ruby周りの設定、MariaDB設定))、今回はNginxの設定をしていこうと思います!
今回でさくらVPS側の作業は最後になるので、お気を付けください!
アプリの置く場所を作る
さて、Nginxをインストールする前に、ここで、デプロイするアプリケーションの置き場所を作成しておきましょう。
gitのリモートリポジトリから、アプリケーションのファイルが置かれる場所ですね。
ここがこのアプリのルートディレクトリになるので、お忘れなきよう。
私はこんな感じに設定しました。
sudo mkdir -p /var/www/app/アプリケーションの名前
mkdirコマンドはディレクトリを作成するコマンドで、-pオプションはディレクトリを作成するときに、途中にないものがあった場合、作成してくれるオプションのようですよ。
ちなみにアプリの置き場所ですが、/var/www/以下に作るサンプルが多かったのでこちらにしていますが、/home以下でも大丈夫のようです。
例)/home/Userネーム/app ※Userネームは適宜置き換えてください。
ということで、これでファイルの置き場所ができたので、さっそくNginxの設定に行きますか!
Nginx設定
さて、Nginxの設定です。
ちなみに、Nginxはエンジンエックスと読むそうですよ。
難読ですよねー
ちょっと話がそれましたが、手順は以下の通りです。
- Nginxをインストール
- /etc/nginx/conf.d/default.conf を編集して設定
- Nginxを再起動
それではまず、インストールから。
・Nginxをインストール
Nginxをそのままインストールするとインストール自体は出来るのですが、バージョンの古いものがインストールされてしまいます。
そのため、私は
CentOS 7 (5, 6) で “安定版 (最新版)” のNginxをインストールする方法
を参考に、安定版のインストールを行いました。
vim /etc/yum.repos.d/nginx.repo
中に、
[nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/7/$basearch/ gpgcheck=0 enabled=1
と記入。
$ sudo yum -y --enablerepo=nginx install nginx
でインストール。
$ nginx -v
でバージョンが最新の安定版か確認。
バージョンが1.10.1以上ならOKの模様です。
・/etc/nginx/conf.d/default.conf を編集してNginxの設定をする
Nginxの設定をするには、/etc/nginx/conf.d/default.conf に書き込めばいいのですが、これを直接編集するのはまずいらしいので、cpコマンドで /etc/nginx/conf.d/default.conf をコピーして、/etc/nginx/conf.d/local.conf というファイルを作成し、それを編集します。
そして、新しく作った/etc/nginx/conf.d/local.conf に書き込んだ設定と、/etc/nginx/conf.d/default.conf の設定がバッティングしないように、mvコマンドでファイル名を変更します。
コマンドは以下の通りです。
$ sudo cp /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/local.conf $ sudo mv /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.conf.bk
そしていよいよ、/etc/nginx/conf.d/local.conf にNginxの設定を書いていきます!
私はCapistrano で Rails アプリケーションの自動デプロイを参考に設定しました!
$ vim /etc/nginx/conf.d/local.conf
で中に
upstream unicorn { server unix:/アプリのルートディレクトリ/shared/tmp/sockets/unicorn.sock; } server { listen 80 default_server; server_name IPアドレスorサーバーネーム; access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; root アプリのルートディレクトリ; client_max_body_size 100m; error_page 404 /404.html; error_page 500 502 503 504 /500.html; try_files $uri/index.html $uri @unicorn; location @unicorn { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_pass http://unicorn; } }
を記入します。
アプリのルートディレクトリは、上で設定したアプリの置き場所になるので、適宜置き換えてそちらを入れていただければと思います。
・Nginxの再起動
そして、
$ sudo service nginx restart
でNginxを再起動して完了です!
そして、次へ進みますが、それはまた次回。(rails デプロイへの道:さくらVPSリベンジ編⑤(Production環境用のアプリ設定とUnicorn設定))
まとめ
まー色々と書いてきましたが、結局何が言いたかったかというと、
Nginxってなんかかっこいい
ってことです。
何ででしょう。
中二の血が騒ぐからですかねぇ・・・
なんか、いいんですよね、なんか。
なんて読むのかわからない感じもそうですし、あまり見たことのない文字列じゃないですか。
そこが、くすぐるんでしょうね、なにかを。
体は大きくなっても、なかなか中身は変わらないなと思ったのでした。
コメント