You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Hostinger VPS部署Node.js应用后无法访问的问题求助

排查Hostinger上Node.js应用无法外部访问的问题

刚踩过类似的坑,给你梳理几个最容易遗漏的关键排查步骤,按顺序走应该能解决问题:

  • 检查端口防火墙放行状态
    不管是Hostinger面板的云端防火墙,还是服务器系统自带的防火墙(比如Ubuntu的ufw),默认都不会开放3000这类自定义端口。先登录Hostinger的VPS控制面板找到「防火墙」选项,添加一条入站规则允许TCP 3000端口的流量;接着登录服务器执行ufw status,如果看不到3000端口的允许规则,就运行ufw allow 3000/tcp && ufw reload让规则生效。

  • 确认应用监听地址是0.0.0.0而非localhost
    很多新手容易忽略这个细节:如果代码里写的是app.listen(3000, 'localhost'),应用只会监听服务器本地的请求,外部完全无法连接。把监听地址改成0.0.0.0,也就是app.listen(3000, '0.0.0.0', () => { ... }),这样应用才会绑定服务器的所有网卡端口,接受外部请求。

  • 共享主机需配合反向代理或Hostinger Node管理器
    要是你用的是Hostinger共享主机而非VPS,直接用IP:3000访问是行不通的——共享主机不允许直接暴露自定义端口。这时候需要在网站根目录(比如public_html)创建.htaccess文件,配置反向代理:

    RewriteEngine On
    RewriteRule ^(.*)$ http://127.0.0.1:3000/$1 [P,L]
    

    另外别手动用npm start启动应用,要通过Hostinger后台的「Node.js管理器」部署,它会自动处理端口映射和进程托管。

  • 用进程管理器确保应用持续运行
    直接执行npm start启动的应用,一旦你的SSH连接断开,进程就会终止。推荐用pm2管理Node进程:先安装npm install -g pm2,然后用pm2 start your-entry-file.js启动应用,之后用pm2 logs查看运行报错,用pm2 status确认进程是否存活。

  • 排查MySQL连接是否阻塞应用启动
    虽然你说MySQL已安装,但如果应用启动时卡在MySQL连接环节(比如用户名密码错误、数据库权限不足),可能表面上看起来启动了,但实际上没完成端口监听。可以暂时注释掉代码里的MySQL连接逻辑,测试应用是否能正常访问;如果能访问,再回头排查MySQL的连接配置和权限问题。

内容的提问来源于stack exchange,提问作者Hong Ernest

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.06 06:49:25