engineer2017年5月22日月曜日Node.jsを使ってみる最近急にMastodonが流行り始めました。Mastodon自体の説明については他に譲るとして、Mastodonではウェブサーバ(ストリーミング用)にNode.jsを利用しているようです。私が愛用するApacheウェブサーバとの同居が面倒なためこれまで避けておりました。Mastodonという動機付けでもってこの度Node.jsを使ってみる気になりました。14.04ベースのリモートサーバです。helloworld.js');の内容で作成します。ちなみにポート番号を8031にしているのは、ポート番号一覧で8030~8040あたりが空いているからで、それ以上の意味はありません。helloworld.jsを実行し、ウェブブラウザで"http://<ホスト名>:8031"を開きます。ホスト名は先のファイルで指定したそのものでなくてもよく、DNSサーバ上で付けている別名でも構いません。Worldとだけ表示されます。Node.jsの動作確認ができました。helloworld.js');のようにすると8031番ポートと8032番ポートで別コンテンツを同時に公開できます。この中の}).listen(8032,"<ホスト名>");を}).listen(8031,"<別のホスト名>");にしてもバーチャルホストは実現できません。ポート番号の重なりでエラーが出るだけです。SSLについても対応可能です。res.end('ssl\n');}).listen(8032,"<ホスト名>");に変更し、それと同一ディレクトリに証明書情報の"cert.pem"と"privkey.pem"を置いて、パーミッションをきちんと設定すれば完了です。EncryptからLinux上のApache向けに発行を受けているのなら、"/etc/apache2/ssl/letsencrypt/live/<ホスト名>/"ディレクトリ下に同名のファイルで存在するので、そのままコピーします。パーミッションには注意が必要です。最後にデーモン化について。helloworld.jsでウェブサーバを起動するようにします。helloworld.jsを実行すれば止められます。