2016-08-20 5 views
1

私は自宅のコンピュータにポート80で動作するApache Webサーバーをセットアップすることができました。私のパブリックドメインが私のApache HTDOCsファイルに私を連れて行くように私のフォワードパスが設定されています。明らかにするために、私は自分のWebサーバーをホストすることができたので、自分のWebサイトをホストすることができます。私は正常にHTMLコンテンツを表示することができます。Apacheで自分のノードサーバーをホストしていますか?

ここでNodeJSをこの機能に追加したいと思いますが、やや混乱しています。

:今、私はこの行を置くために私の httpdファイル、で、どこにほとんど混乱しています

LoadModule proxy_module modules/mod_proxy.so 
LoadModule proxy_http_module modules/mod_proxy_http.so 

answer on this link後、私は私のhttpdファイルに以下の行のコメントを解除することを確認しました

ProxyPass /node http://localhost:8000/ 

これは、私が外部からnodejにアクセスできるかどうかはわかりません。

さらに、私の場合、ApacheフォルダにNodeJSをインストールすることになっているのではないかと思います。私の場合はc:/Apache24です。もしそうなら、私はどのディレクトリにそれをインストールしますか?

追加するには、テストノードファイル(nod.jsという名前)に次のコードが含まれています。

var http = require('http'); 
http.createServer(function (req, res) { 
    res.writeHead(200, {'Content-Type': 'text/plain'}); 
    res.end('Hello Apache!\n'); 
}).listen(8000); 

私はこれをhtdocsでnode nod経由で実行します。これはlocalhostで動作しますが、私の外部IPでは表示されません。

EDIT:私は何を私の球場内のを想定しているが、

<VirtualHost *:80> 
    ProxyPass /node http://localhost:8000/ connectiontimeout=5 timeout=30 # optional timeout settings 
</VirtualHost> 

これは動作しません:this exampleから私はそうのようなもの、私は仮想ホスト内の私はProxyPassをラップする必要があることを信じていますやっているよ。

答えて

1

ノードサーバーを実行しているディレクトリは問題ありません。
Apacheは要求をHTTP経由でノードに送信します。技術的には、2つの異なるマシン上にあることができます(localhostを使用しますが、その代わりに他のIPアドレスを使用できます)。重要

唯一のことは、ディレクトリではありませんが、あなたはノード構成

+0

で使用しているポートは、私も自分のポート8000​​のパスを転送する必要がありますか? –

+1

あなたはすでに上記の 'httpd'に基づいています –

+0

私は自分のエラーがどこにあるのか少し混乱しています。私は公開IPアドレスにヒットするとすぐに実行されるindex.htmlファイルを持っています(例えば、http://12.12.12.12.12)。今、 'node nod'を実行すると、私の' localhost:8000'は自分のノードファイルを表示します。しかし、私が 'http://12.12.12.12.12:8000'に行くと、表示されません。 –

関連する問題