node.jsアプリをLinuxサーバーで公開してみよう


nvmをインストールする
yumコマンドからインストールすることも可能ですが、node.jsのバージョン管理ソフト、nvmを使って任意でバージョンを切り替えられるようにしてきましょう。
今後の開発内容、環境によって変更できるようにします。
nvmをインストールします。
$ curl https://raw.githubusercontent.com/creationix/nvm/master/install.sh | sh
インストール完了です。
次にnvmを使ってnode.jsインストールします。
あらかじめインストール可能なバージョンを下記コマンドで確認しておきましょう。
インストール可能なバージョン一覧が表示されます。
$ nvm ls-remote
node.jsをインストールする
nvmを使って任意のバージョンをインストールします。
本記事をリリースした時点では7.10.0が最新版でした。
最新版の7.10.0をインストールします。
$ nvm install 7.10.0
インストールが完了したら、下記コマンドでインストールを確認します。
$ node -v
nvmでは複数のバージョンのnode.jsがインストールできます。
例えば7.5.0をインストールする場合、7.10.0をインストールしたときと同じ要領でコマンドを実行します。
$ nvm install 7.10.0
インストール完了後、下記コマンドで使用するnode.jsのバージョンを変更することができます。
一連の手順としては変更する必要はありませんが、一度試してみてください。
$ nvm use 7.5.0
バージョン確認用のコマンドを入れてみましょう。
バージョンが7.5.0に切り替わっているはずです。
$ node -v
npmのアップデート
Expressをインストールする
node.jsをわかりやすく手軽に開発、実行するためにExpressを使っていきます。
Expressはnode.jsにおける人気のフレームワークで、資料や情報も多く、比較的わかりやすくnode.jsを利用できます。
先程アップデート、インストールしたnpmコマンドでExpressをグローバルインストールします。
$ sudo npm install express -g
インストールが完了したらバージョンを確認してみます。
$ express --version
バージョン情報が出力されればインストールは完了です。
サンプルアプリを作成し実行する
foreverをインストールします。
foreverをインストールします。
こちらもnpmを使ってforeverをグローバルインストールをします。
$ sudo npm install forever -g
インストール後、foreverで再びアプリを実行します。
$ forever start app.js
これで実行が通りました。
ここまでできたら、ウェブブラウザで確認するためにサーバーの設定を進めます。
サーバーの設定
公開しているドメイン上でサブドメイン作って公開することを前提に設定を進めていきます。
ネームサーバーなどの設定はあらかじめ設定しておきましょう。
ここからnginxの設定を進めます。
※nginxは基本設定が済んでいる状態が前提となります。インストールはTIPS vol.37をご覧ください。
Nginxのリバースプロキシ機能を使ってnode.jsを設定します。
confには下記のような記述で設定します。
upstream sampleApp {
server localhost:3000;
}
server {
listen 80;
server_name api.example.jp;
access_log /var/log/nginx/api.example.jp.log;
location / {
proxy_pass http://sampleApp/;
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;
}
access_logやドメイン名は任意です。こちらはapi.example.jpというサブドメインで設定しています。
ポイントとしてはupstream部分とproxy_passの部分を揃えることです。
これらを設定しnginxのreloadを行います。
$sudo systemctl reload nginx
設定したドメインにアクセスしてみましょう。
テストサイトが表示されれば完了です。
まとめ
node.jsを実行するために現状運用しているnginxに追加設定をし、ひとまずnode.jsを実行するためを目的で設定を進めました。
実際に機能を作っていくにはnode.js、Expressを学習していく必要があります。
実用的な内容はこれから勉強を進めていきたいと考えています。
出典:nodejs
出典:phiary「nvm(Node Version Manager) で Node.js をインストールしよう♪」
出典:Qiita@ogwmtnr(Mitsunori Ogawa)「Node.js + Express + forever を構成して nginx から流す」
出典:Qiita@nkjm(中嶋 一樹)「ゼロからはじめるExpress + Node.jsを使ったアプリ開発」
RECENT POSTS
Vol.203
What Is Design Management
Vol.202
Why Hiring No Longer Works— Redesigning Organizations and Decisions for an Uncertain Age
Vol.201
How to Choose a Branding Agency: 5 Criteria to Avoid Failure
Vol.200
Design Management: A Practical Guide for SMEs and Startups to Drive Real Results
Vol.199
How to Rebuild Brand Competitiveness: A Practical Guide to Brand Management for SMEs
Vol.198
From parent–child bonds to community: The future of education that nurtures diversity and designs relationships
MORE FOR YOU

What Is Design Management
2026.4.28
Why Hiring No Longer Works— Redesigning Organizations and Decisions for an Uncertain Age
2026.4.27
How to Choose a Branding Agency: 5 Criteria to Avoid Failure
2026.4.24
Design Management: A Practical Guide for SMEs and Startups to Drive Real Results
2026.4.27
How to Rebuild Brand Competitiveness: A Practical Guide to Brand Management for SMEs
2026.4.24
From parent–child bonds to community: The future of education that nurtures diversity and designs relationships
2025.12.19
Exploring the future of environmental design integrating vision, diversity, and a future-oriented perspective
2025.12.9

