全体像:XserverでNode.jsを動かすとは何をしているのか
まず前提として、Xserverは一般的な「レンタルサーバー」です。標準ではPHPやMySQLはすぐ使えますが、Node.jsはそのままでは自由に常駐実行できない制約があります。
ここが一番重要なポイントです。
XserverでNode.jsを使う方法は大きく分けて2つあります。
ひとつは「SSHでNode.jsをインストールしてコマンドとして使う方法」、もうひとつは「アプリとして公開する方法」です。ただし後者は制限が多く、初心者はまず前者から理解するのが現実的です。
つまり、今回やることは次の流れです。
サーバーにログインする
Node.jsをインストールする
動作確認する
簡単なプログラムを実行する
この流れを一歩ずつ進めていきます。
Step1:SSH接続の準備(ここでつまずく人が多い)
SSHとは何か
SSHとは「サーバーを遠隔操作するための仕組み」です。WindowsでいうとコマンドプロンプトやPowerShellを、サーバーに対して使うイメージです。
XserverではSSH機能をONにしないと何も始まりません。
手順の流れ
Xserverのサーバーパネルにログインします
「SSH設定」を開きます
SSHを有効化します
パスワード認証または公開鍵認証を設定します
初心者はまずパスワード認証で問題ありません。
接続ツール
WindowsならTera TermやPowerShellで接続できます。
Macならターミナルがそのまま使えます。
接続コマンドは次の形です。
ssh ユーザー名@サーバー名
ここでログインできれば、ようやくスタートラインです。
Step2:Node.jsをインストールする(ここが核心)
なぜそのままでは使えないのか
Xserverは共用サーバーなので、自由にroot権限でソフトをインストールできません。
そのため「ユーザー領域にNode.jsを入れる」必要があります。
ここで使うのがバージョン管理ツールです。
nvmを使う理由
Node.jsはバージョン差異が大きく、環境トラブルの原因になります。
そのため、Node Version Managerを使うのが定石です。
インストール手順
SSHログイン後に以下を順番に実行します。
cd ~
git clone https://github.com/nvm-sh/nvm.git ~/.nvm
次に環境変数を設定します。
nano ~/.bashrc
ファイルの最後に以下を追加します。
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
保存して反映します。
source ~/.bashrc
ここまででnvmが使える状態になります。
Step3:Node.jsをインストールして動かす
Node.jsのインストール
nvm install --lts
LTSは安定版です。初心者はこれ一択です。
バージョン確認
node -v
npm -v
バージョンが表示されれば成功です。
ここは必ず確認してください。ここでエラーが出る場合は環境変数設定ミスです。
Step4:簡単なプログラムを動かす
テスト用コード
nano app.js
console.log("Hello Node.js");
JavaScript実行します。
node app.js
これで文字が表示されればOKです。
Step5:Webアプリとして動かす場合の注意点(重要)
なぜ普通のサーバーのように動かせないのか
Node.jsは通常「ポートを開いて常駐」します。
しかしXserverでは
ポート開放ができない
常駐プロセスが制限される
という制約があります。
つまり、次のようなコードはそのままでは公開できません。
app.listen(3000)
JavaScript回避方法
現実的な選択肢は3つです。
CGIとして実行する
定期実行(cron)でバッチ処理に使う
外部VPSを使う
初心者におすすめなのは「バッチ用途」です。
ログ処理
データ取得
API連携
この用途ならXserverでも十分活躍します。
Step6:セキュリティの重要ポイント(深堀り)
SSHの安全設定
パスワード認証は便利ですがリスクがあります。
慣れてきたら公開鍵認証に切り替えるべきです。
理由は単純です。
総当たり攻撃(ブルートフォース)を防ぐためです。
Node.jsの依存関係
npmでパッケージを入れるときは注意が必要です。
npm install
この一行で外部コードを大量に取り込みます。
ここで重要なのは
信頼できるパッケージか
更新されているか
脆弱性がないか
これを確認することです。
権限の考え方
絶対にやってはいけないのは「無闇に権限を広げること」です。
chmod 777 のような設定は避けてください。
サーバーは共有環境なので、他ユーザーへの影響も考える必要があります。
まとめ:初心者が理解すべき本質
XserverでNode.jsを使うというのは
自由にサーバーを動かす環境ではない
制限の中で使う技術
という理解が最も重要です。
Node.jsを「Webサーバーとして使いたい」なら、正直に言うとVPSの方が適しています。
一方で
スクリプト実行
自動処理
軽いツール
こういった用途ならXserverでも十分に価値があります。
