3

nodejs の問題でここに戻ってきました。express.vhost() を使用して、同じシステムで 2 つ以上の app.js を実行できるようにするノード サーバーを作成しています。しかし、私は今かなり迷っています。

ウェブホスト サーバーは、Ubuntu と plesk を実行する専用サーバーであり、異なるドメインに 2 つの IP を割り当てました。

xxx.xxx.xxx.123 IP は domain-one.com に割り当てられます xxx.xxx.xxx.xxx.456 は domain-two.com に割り当てられます

どちらも nodejs サーバー app.js を実行し、それぞれ /var/www/vhosts/[domain-name]/node/app.js に割り当てられます

仮想ホストを実行しているサーバーは /var/www/node/server.js にあります。ここにコードがあります

var express = require("express");
var app = express();

app
.use(express.vhost('domain-one.com', require('/var/www/vhosts/domain-one.com/node/app.js').app))
.use(express.vhost('domain-two.com', require('/var/www/vhosts/domain-two.com/node/app.js').app))
.listen(3030);


app.get('/', function(req, res){
  res.send('hello world the server running ');
});

各 app.js 内で

var express = require('express'),
    routes  = require('./routes');

var app = exports.app = express.createServer();

app.get('/', function(req, res){
  res.send('hello world test file for [domain-name] running');
});

//port 3031 for domain-one.com
//port 3032 for domain-two.com
app.listen(3031); 

次に node server.js を実行すると、すべてがエラーなしで正常に動作します。

次に、netstat -anltpを実行します

tcp        0      0 0.0.0.0:3030            0.0.0.0:*               LISTEN      19839/node      
tcp        0      0 0.0.0.0:3031            0.0.0.0:*               LISTEN      19839/node      
tcp        0      0 0.0.0.0:3032            0.0.0.0:*               LISTEN      19839/node  

OK、すべてが期待どおりに進むので(おそらく)、ブラウザを開いて「 domain-one.com:3031」と入力し、他のタブに「domain-two.com:3032 」と入力します

しかし、両方のドメインで接続タイムアウトが発生します...そして domain-one.com:3030 を実行すると、次のように表示されます。

こんにちは、サーバーが実行されています

しかし、domain-two.com:3030 ではなく、ハングします..

私は、これに頭を悩ませ、サーバーとドメインがどのように機能するか、サーバー内のさまざまな IP/ドメインに対してさまざまな nodejs アプリを実行する方法について少し理解したいと思います...

domain-two.com が domain-one.com の app.js ファイル res.send() が他のドメインに出力するはずのものを出力することがあります...

私は今とても混乱していると思います...これで私を助けてくれることを願っています..

どうもありがとう

-イヴァン

4

1 に答える 1