前提条件
- Ubuntu16.04
- Node.jsとnpmは既に入っている
本文
スーパーユーザーで起動させれば動きます。
が、気持ち悪いのでNginxでプロキシしませう。
↓こちらのすばらしい記事を参考に最新版のNginxをインストールしてくださまし。
Ubuntuに最新のnginxをインストールする
そしたらば、Nginxのconfファイルをつくるーー
/etc/nginx/conf.d
にあるconfファイルは/etc/nginxnginx.conf
の中でinclude /etc/nginx/conf.d/*.conf;
みたいな感じでインクルードされるのです。詳しくはぐぐってください〜〜(https対応するときはちょっと弄らないとけないですーーー)
$ cd /etc/nginx/conf.d
$ sudo vi node-app.conf # 内容は下にあるよ!
$ sudo mv default.conf default.conf.origin
Node.jsのアプリへプロキシするための設定node-app.conf
ファイルここんな感じでつくっって、最初からあるdefault.conf
はdefault.conf.origin
名前を変えて一応置いておきます。(念のためね!)
upstream node-app {
server localhost:8080;
}
server {
listen 80;
server_name example.com;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
location / {
proxy_pass http://node-app/;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
そしたらNginxを再起動しますーーーー
$ sudo nginx -s reload
はい、これでNode.jsで作ったアプリをポート8080で動かせば80で動きますーーーー!!!
完璧です!!
ufwでポート制限している人は忘れず80だけ開けておきましょう!8080は開けなくても大丈夫です!
$ sudo ufw allow 80
おまけ
はい!でもNode.jsのアプリはプロセスなので死ぬかもしれないので一応デーモン化しておきましょーー。foreverを使います!インストールは以下!
$ sudo npm install -g forever
そうですNode.jsでNode.jsをデーモン化するツールです!なんか気持ち悪いですね!
でもそんなの関係ない!便利なので使っちゃえーーーっ!!
$ forever start app.js
こんな感じで起動させましょー!環境変数も問題なく起動時につっこめます!
$ HOGE=hage forever start app.js
以上ですおわりです!!!!!!!かんたんーーー
(備忘録です)