目标:
在不同的文档根目录下使用彼此独立的多台实时node.js服务器。
使用NGINX
server {
server_name .lolwut1.com;
root /var/www/html/lolwut1;
# proxy pass to nodejs
location / {
proxy_pass http://127.0.0.1:5001/;
}
}
server {
server_name .lolwut2.com;
root /var/www/html/lolwut2;
# proxy pass to nodejs
location / {
proxy_pass http://127.0.0.1:5002/;
}
}
/var/www/html/lolwut1/app.js
var http = require('http');
var server = http.createServer(function (request, response) {
response.writeHead(200, {"Content-Type": "text/plain"});
response.end("lolwut1\n");
});
server.listen(5001);
/var/www/html/lolwut2/app.js
var http = require('http');
var server = http.createServer(function (request, response) {
response.writeHead(200, {"Content-Type": "text/plain"});
response.end("lolwut2\n");
});
server.listen(5002);
所以当我...
node app.js
中的/var/www/html/lolwut1/app.js
并按lolwut1.com
我都很好。问题:
但是现在如果我要启动第二个节点服务器该怎么办?
这是不好的方法吗?...我在想这是错误的方法吗?
What are the advantages/disadvantages of using node.js with a
connect.vhost
directive as a router rather than NGINX? 最佳答案
使用forever启动和停止您的节点应用程序。
您做对了!这种方法对我来说已经很长一段时间了。
Connect vhost的优势:您无需安装和配置nginx。整个堆栈是node.js。
Nginx的优势:Nginx是成熟且稳定的Web服务器。崩溃或表现出奇怪行为的可能性很小。它还可以托管您的静态站点,PHP站点等。
如果是我,除非我需要Nginx的某些特定功能,否则我会选择Connect vhost或node-http-proxy来拥有all-node.js堆栈。
关于node.js - 使用NGINX代理的Muitliple Node.js服务器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14993833/