NODE.jsが使える共用型レンタルサーバ(VPSではない)は存在する

2024年6月14日

※現在は、ホスティング設定時に、Pleskから簡単にNODE.jsの利用設定ができます。新しい記事を参照してください。

以前、「レンタルサーバではNODE.jsは使えない」と書いてあるブログをいくつも見て「使えるのにな」と常々悔しく思っていました。ようやく暇を見つけて、Expressを動かしてみました。

といっても、https://expressjs.com/ の「Getting Started」に従い、「Hello World!」を表示してみただけです。

利用プラン

Linux共用レンタルサーバの最も下のプランです。

(1) package.jsonを準備

FTPでもPleskの「ファイルマネージャ」でもいいので、ドキュメントルート(/httpdocs)に package.json を以下の内容で作成します。ここでは「ファイルマネージャ」を使いました。

(2) app.js を準備

ドキュメントルート(/httpdocs)に app.jsを作成します。

portの指定に注意。環境変数PORTの値を設定するようにしてやると、Pleskから割り当てられたポート番号が設定されます。

ここまでで、ドキュメントルートに必要な最低限のファイルが作成できました。

(3) Pleskでの設定

ホーム > 契約 > WEBサイトドメイン名 > ウェブサイトとドメイン の中に「NODE.js」というメニューがあるのでクリックします。

「ドキュメントルート」と「アプリケーションルート」を、先ほど package.json および app.js を置いたディレクトリに設定します(デフォルトで/httpdocsになっているはず)。

(4) NODE.js有効化

「NODE.js有効化」のボタンをクリックします。

(5) NPM インストール

有効化しただけでは、Expressと関連のモジュールがまだインストールされていませんので、動作しません。
「NPM インストール」というボタンが現れているので、クリックします。
するとpackage.jsonの内容に従って、必要なモジュールがインストールされます。

(6) 動作確認

これで、WEBサイトにアクセスすると無事に「Hello World!」が表示されます。

いまのところ、注意点と未確認の点は以下です。

  • ドキュメントルートは、アプリケーションルートと同じか、その配下になるように設定します。
  • https://examlple.com/myapp/ のような、サブディレクトリ中で動作させることは難しいようです。ウイルネットの共用Linuxプランはサブドメインも設定できますので、メインのWEBサイトと別にNODE.jsアプリを動作させる場合は、サブドメインにすることをお勧めします。
  • npmコマンドを直接たたくことはできません。基本的には、開発はローカルのPC等の環境で行い、本環境のサイトをレンタルサーバで公開する運用が前提となります。

その他

Posted by newbie staff