Node.JS应用程序没有侦听分配的端口

时间:2014-03-20 13:53:56

标签: node.js

我有一个Node.JS应用程序,它应该在启动时侦听端口4567。理想情况下,端口应显示在nmap和netstat的输出中,但由于某种原因,它不是。

启动应用程序无法打开端口。没有任何内容写入/ var / log / syslog来告诉我发生了什么,也没有在应用程序日志文件中。我正在使用Forever来启动应用程序。

任何线索?

该应用的配置文件如下所示

{
"base_url": "http://mysity",
"port": "4567",
"use_port": true,
"secret": "settee",
"bind_address": "0.0.0.0",
"database": "redis",
"redis": {
    "host": "127.0.0.1",
    "port": "6379",
    "password": "secret",
    "database": "0"
},
"bcrypt_rounds": 12,
"upload_path": "uploads",
"relative_path": ""
}

Edit1:我正在使用Forever启动应用> “永远开始app.js”

顺便说一句,我在本地安装上运行相同的应用程序,端口已打开,我可以连接到应用程序,但不能连接到生产服务器上。

1 个答案:

答案 0 :(得分:0)

尝试运行像Nginx这样的反向代理。基本上它所做的是它监听浏览器端口(通常:80但是:443用于HTTPS)并且它将来自这些端口的请求中继到配置文件中指定的端口。 (nginx.conf)。

所以你的nginx.conf看起来像:

server {
    listen      80;
    server_name mysite.com www.mysite.com;
    access_log  /var/log/nginx/localhost.access.log;

    location / {
        proxy_pass       http://127.0.0.1:4567;
        proxy_redirect   off;
        proxy_set_header Host            $host;
        proxy_set_header X-Real-IP       $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-NginX-Proxy   true;
    }
}