二〇一五年 霜月 廿三日 月曜日■ CentOS 7 に Nginx と Node.jsをインストール [/links]この記事は書かれてから1年以上経過しています。内容が古くなっている可能性があります。コメントの受付は終了しました。 前回の記事で、CentOS 7 に Nginx をインストールする方法を書いた。そこでは、semanage をインストールするのは面倒だと書いたけれど、Nginx のバックエンドで Node.js を動かすなら、semanage が必要だ。semanage は policycoreutils-python パッケージに含まれているので、次のコマンドでインストールできる。
Nginx をインストールして起動し、80 番ポートを開けるまでは、前回の記事に書いた。 semanage を使うなら、ファイル転送のためのユーザーは普通に作ってよい。ユーザー名を
となる。次に、
でアクセス権を設定するが、それだけではウェブサーバーが
でコンテキストを設定して、
で設定を反映する。 Nginx の設定は、基本的にはこんな感じ。
最初の server がデフォルトのサーバーになる。この設定では、blog.ousaan.com と origami.ousaan.com へのリクエストは無条件に Node.js に渡して、そのほかのリクエストについては、URI に対応するファイルがあればそれを返し、なければ Node.js に処理を移す。 Node.js のインストール方法は Node.js のウェブページにある。日本語のウェブページを検索すると古い情報ばかり出てくるので注意。 Node.js を素のまま使うのは辛いので、私は、CoffeeScript をグローバルにインストールし、Express.js と Jade をローカルにインストールした。Node.js に npm が付いているので、インストールは簡単。インストール方法はそれぞれのウェブページを参照のこと。 Node.js の設定は、以前の記事に書いたのと同じ。ただし、それだけでは 502 Bad Gateway のエラーが出る。SELinux のポリシーにより、3000 〜 3002 番ポートに HTTP でアクセスできないため。次のコマンドでアクセスできるようになる。ポートを外に向かって開く必要はないので、ファイアウォールの設定はいらない。
最後に、Node.js アプリをデーモン化する。そのためには forever を使うことが多いようだけれど、CentOS 7 なら systemd を使ったほうがよい。アプリケーションが
すると、
でサービスを開始できる。システムが再起動したとき自動的に起動させるには、
とするだけでよい。 |
カテゴリ
[/language] (98) 最新記事
◇ パスワードについてのあなたの常識はもはや非常識かもしれない・その1 [/links] |