質問: おはようございます。 現在自分は、Expressフレームワークで作ったコンテンツを、今まで使っていたHerokuから、自分のさくらのクラウドサーバ上に移動し、今まで通り動かせるようにしたいと考えています。 ですが、サーバーの構築を自分でするのが初めてで、なんとかhttpdのインストールまではこぎつけたものの、VirtualHostの設定や、nodeJSの扱いの仕方がいまいちわからず、困っています。 自分の理想としては 1、検索画面で `{iPv4アドレス}/node/Expressプロジェクト名` と検索すると、 `/var/www/node/Expressプロジェクト名` のディレクトリにアクセスして、この階層下にあるapp.jsを勝手にnpm startして、ページを開いてくれるというものです。(とりあえずいままでherokuがやってくれていたことを自分でできるようになりたい。) これを実現する方法として、httpdのVirtualHostで特定のリクエストに対して特定のページを返すというものを考えています(こういうのをプロキシというのでしょうか?) 調べてはみたものの、情報が多すぎて何をしていいのかが結局わかりません........ どなたか手掛かりだけでも教えていただけないでしょうか? OSはCentOSの6.7です。 よろしくお願いいたします。
回答: httpd というのはApacheなどのWebサーバーでしょうか? それは必要でしょうか? Node.jsしか動かさないのでしたら、Apache等は必要ないです。 仮に複数のNodeプロセスを動かし(そしてURLによって振り分け)たい場合でも、Apache等は利用せずに、リクエストを振り分けるプロキシのような役割をするNode.jsプログラムを作って、それに任せるといいと思います(すべてNodeで完結するので保守も楽です)。 どうしてもApache等を使いたい場合は、Apache側で、そのURLに対して内部で動いているNodeプロセス(のポート)に繋ぐようにするとかですかね。