var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
}).listen(9000, "127.0.0.1");
console.log('Server running at http://127.0.0.1:9000/');
我有上面的代码来开始使用nodejs,当我启动进程并在浏览器上运行时,我得到了响应一次,但之后我没有得到任何响应。每次我重新启动时,我得到1个响应并且一如既往地停止。我怎样才能让它持续运行。提前谢谢!
只需添加与此问题相关的更多信息。这是来自nginx conf文件的片段
server {
listen 80;
client_max_body_size 2M;
server_name my_domain;
root /home/node/My_Folder;
# access_log /var/log/nginx.vhost.access.log main;
send_timeout 1;
location ~* ^.+\.(jpg|jpeg|JPG|JPEG|GIF|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js|mov|html)$ {
autoindex on;
root /home/node/My_Folder;
expires 30d;
break;
}
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
#proxy_connect_timeout 50ms;
#proxy_send_timeout 200ms;
#proxy_read_timeout 200ms;
proxy_next_upstream error;
proxy_pass http://Handler;
#index no_ads.html no_ads.htm;
break;
}
}
upstream Handler {
server 127.0.0.1:8010;
server 127.0.0.1:8011;
server 127.0.0.1:8012;
server 127.0.0.1:8013;
server 127.0.0.1:8014;
server 127.0.0.1:8015;
server 127.0.0.1:8016;
server 127.0.0.1:8017;
server 127.0.0.1:8018;
server 127.0.0.1:8019;
server 127.0.0.1:9000;
}
我尝试过使用
节点app.js 永远开始-a app.js
启动应用程序,但无论哪种方式我只得到一个响应然后超时。我确实在同一台服务器上运行了几个其他节点应用程序,这些应用程序似乎工作正常。所以我完全迷失了
答案 0 :(得分:3)
您的Node.js应用程序在端口9000上运行。
在NGinx配置文件中,您有
设置proxy_pass http://Handler;
将传入的请求重定向到Node.js应用程序,但您不是直接将请求重定向到那里,而是直接重定向到上游,配置如下:
upstream Handler {
server 127.0.0.1:8010;
server 127.0.0.1:8011;
server 127.0.0.1:8012;
server 127.0.0.1:8013;
server 127.0.0.1:8014;
server 127.0.0.1:8015;
server 127.0.0.1:8016;
server 127.0.0.1:8017;
server 127.0.0.1:8018;
server 127.0.0.1:8019;
server 127.0.0.1:9000;
}
由于NGinx默认使用循环进行上游,这意味着在11次NGinx尝试连接到端口9000(其工作)的一次中,接下来的十次尝试访问不存在的服务器。
因此无法建立连接,您将收到错误消息。
删除上游块中的所有其他服务器条目,完全删除上游块并将单个Node.js服务器直接配置为代理,或者使用端口8010,8011,...和启动其他Node.js服务器。一切都应该有效。
有关如何配置上游的详细信息,请查看NGinx documentation on the HttpUpstreamModule。