我试图在我的godaddy服务器上运行我的nodejs / expressjs应用程序,但我使用的任何端口超时。我尝试在我的本地设备上使用该应用程序,它工作正常。我在下面有一段连接。
var app = express();
app.listen(8080, function() {
console.log("Listening on port " + 8080);
});
当我通过ssh运行程序时,我没有错误
node index.js
Listening on port 8080
但是当我到浏览器中的相应位置时,我得到:
xxx took too long to respond.
ERR_CONNECTION_TIMED_OUT
我很确定它与在godaddy服务器上运行有关。如果有人有使用nodejs的服务的经验,是否有我应该使用的特定端口,或者我应该做任何其他设置?
答案 0 :(得分:0)
你有GoDaddy的VPS吗?所以我假设你也有root访问权限。
以root身份SSH到GoDaddy服务器并检查node.js应用程序是否实际侦听该端口:
netstat -tunlp | grep 8080
如果您看到node.js应用程序和该端口的任何结果,则端口已打开。
默认情况下,服务器上应该有防火墙,可能会阻止大多数端口,并且只允许必要的传入流量。
您可以通过发出命令bellow:
来检查该端口是否有任何规则iptables -nvL | grep 8080
如果返回任何结果,则必须添加iptables规则以允许访问该端口。有多种方法可以做到这一点:
你可以阅读任何iptables人,添加/编辑/删除防火墙规则非常容易。大多数cPanel / WHM服务器都带有CSF防火墙(基于iptables和perl脚本)。
为了允许防火墙的IP地址(如果安装了CSF防火墙),您必须发出以下命令:
csf -a ip-address
我希望有所帮助!