rails デプロイへの道:さくらVPSリベンジ編④(デプロイ先の作成、Nginx設定)

さて、前回Ruby周り、MariaDBの設定が終わったので(rails デプロイへの道:さくらVPSリベンジ編③(Ruby周りの設定、MariaDB設定))、今回はNginxの設定をしていこうと思います!

今回でさくらVPS側の作業は最後になるので、お気を付けください!

スポンサーリンク
ピエロ広告ーレクタングル大

アプリの置く場所を作る

さて、Nginxをインストールする前に、ここで、デプロイするアプリケーションの置き場所を作成しておきましょう。

gitのリモートリポジトリから、アプリケーションのファイルが置かれる場所ですね。

ここがこのアプリのルートディレクトリになるので、お忘れなきよう。

私はこんな感じに設定しました。

sudo mkdir -p /var/www/app/アプリケーションの名前

mkdirコマンドはディレクトリを作成するコマンドで、-pオプションはディレクトリを作成するときに、途中にないものがあった場合、作成してくれるオプションのようですよ。

ということで、これでファイルの置き場所ができたので、さっそく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ってなんかかっこいい

ってことです。

何ででしょう。

中二の血が騒ぐからですかねぇ・・・

なんか、いいんですよね、なんか。

なんて読むのかわからない感じもそうですし、あまり見たことのない文字列じゃないですか。

そこが、くすぐるんでしょうね、なにかを。

体は大きくなっても、なかなか中身は変わらないなと思ったのでした。

スポンサーリンク
ピエロ広告ーレクタングル大
ピエロ広告ーレクタングル大

フォローする