我有一个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”
顺便说一句,我在本地安装上运行相同的应用程序,端口已打开,我可以连接到应用程序,但不能连接到生产服务器上。
答案 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;
}
}