さくらのVPS

さくらのVPSでNode.jsを使う【CentOS・Nginx】

さくらのVPSでNode.jsって使えるの?

もちろんインストールして使うことができますよ。

今回はさくらのVPSでNode.jsをインストールして使っていきたいと思います。

この記事で分かること

  • さくらのVPSでサーバーを立てる
  • さくらのVPSでNode.jsをインストールする
  • さくらのVPSでNode.jsを動かす
  • さくらのVPSでExpressを動かす

さくらのVPSでNode.js使って何かしたい方は参考にしてみてください。

さくらのVPSでNode.jsをいじっていきましょう。

さくらのVPSでサーバー作成する

まずはさくらのさくらのVPSに登録します。登録したらサーバー選択の画面からいくつか選択していきましょう。

利用可能クーポンがある場合は、[会員ログイン]からログインするか新規登録してログインするといいです。

ゾーンは特にどこでもいいかなあ・・・っていうところだけど東京第2にしておきます。ゾーンについてはさくらのクラウドのリージョン・ゾーンを見てみるといいです。

次はプランですね。毎月払いから12ヶ月一括かで支払い方法は選べて、メモリのプランはいくつかあります。

今回はこのように進めます。

  • 支払い・・・毎月払い
  • プラン・・・1G

ストレージ変更オプションは変更手数料が0円の50GBにしておきます。

次へを押すとサーバー設定ですね。サーバー名とサーバー説明を入力したかったら入力しましょう。

サーバーにインストールするOSを何にするか選びます。今回はCentOSのStream 9 ×86_64にします。

スタートアップスクリプトっていうインストール時に実行してくれるスクリプトがあるので、利用しておきます。

スタートアップスクリプトの設定があるけど、そのまま変更せずにしました。

サーバーへのSSHキー登録もできるけど、今は登録せずに進みます。

続いて支払い方法です。ここでクレジットカードにすると、2週間無料のお試しを利用することができるのでクレジットカードがおすすめです。

お支払いボタンを押すと完了です。

申し込むとメールが届くので確認しておくといいですよ。

また、少し経つとサーバー一覧に申し込んだサーバーが表示されます。

サーバーを起動してコンソールにログインする

作成したサーバーは最初は停止しているので、起動させます。

サーバーが稼働するとコンソールが使えるので、コンソールからどちらかのコンソールを使いましょう。VNCコンソールで見てみます。

黒い画面が表示されましたね。サーバー作成時に表示されたユーザー名とパスワードを入力してログインしましょう。

  • ログインユーザー・・・管理ユーザー名
  • パスワード・・・管理ユーザーのパスワード

ログインしてみると、ちゃんとCentOSのフォルダ構成ができていますね。

Node.jsをインストールする

コンソールでもいいけど、SSH接続してやったほうがやりやすいのでSSH接続して進めることをお勧めします。

SSH接続

$ ssh centos@パスワード

node.jsをインストールします。

$ sudo dnf install nodejs -y
$ node -v
=> v16.14.0

node.jsをインストールしたら何か適当にファイルに書いて実行してみます。

$ vi index.js
# 以下を記述
console.info("Hello Node.js")

ちゃんとnodeのコマンドが動きましたね。

vimを入れておく

やりづらかったらvimをインストールしておくといいです。

$ sudo yum install -y vim

Nginxをインストールする

次はNginxを入れてNodeで起動したサーバーにつなげたいと思います。まずはNginxをインスト―ル。

$ sudo dnf -y install nginx

Nginxの設定ファイルを新たに追加します。

$ vim /etc/nginx/conf.d/node_app_nginx.conf
server {
        client_max_body_size 50M;
        listen  80;
        server_name IPアドレス;
        location / {
                proxy_pass http://localhost:3000;
        }
}

ポートは3000番で起動する想定です。Nginxを再起動しておきます。

$ sudo service nginx restart

ポートを開放する

さくらのVPSはデフォルトでポートが制限されているので、今回使う80番ポートを許可してやります。[グローバルネットワーク→パケットフィルターを設定]をクリック。

画像に alt 属性が指定されていません。ファイル名: %E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88_2022-08-06_9_34_48-1024x725.png
画像に alt 属性が指定されていません。ファイル名: %E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88_2022-08-06_9_35_34-1024x568.png

これで80番ポートは許可できました。

Nodeでサーバーを起動する

Nodeで動かすサーバーに接続したいので、JavaSciriptでコードを書きます。サーバーを3000番で動かすやつですね。Node.jsのサイトに掲載されているコードです。

# index.js

const http = require('http');

const hostname = '127.0.0.1';
const port = 3000;

const server = http.createServer((req, res) => {
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/plain');
  res.end('Hello World');
});

server.listen(port, hostname, () => {
  console.log(`Server running at http://${hostname}:${port}/`);
});
$ node index.js

これでサーバーのIPアドレスにブラウザからアクセスすると無事表示されました。

さくらのVPSでExpressを使ってみる

せっかくなのでExpressも試してみましょう。Generatorも入れてアプリを作成します。

$ sudo npm install express -g
$ sudo npm install express-generator -g
# expressアプリを作成
$ express my-express-app

# npm install
$ cd my-express-app
$ npm install

npm startで起動します。

$ npm start

サーバーのIPアドレスにアクセスするとExpressの画面が表示されましたね。

まとめ

さくらのVPSでNode.jsを使うっていうことをやったけど、OSはCentOSで以下のことをしました。

  • Node.jsをインストールして動かす
  • Nginxをインストール
  • Expressをインストールして動かす

サーバーを立てるのは簡単だし、後はコマンドでいろいろインストールしていくだけです。さくらのVPSでNode.js動かしてみたかったら試してみるといいですよ。

  • この記事を書いた人

管理人

各VPSの使い方を紹介します。

-さくらのVPS