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

如何在CyberPanel中部署Node.js应用并实现80端口浏览器访问?

解决CyberPanel部署Node.js应用到80端口访问的问题

我来帮你搞定这个问题——要让你的Node.js应用通过80端口直接访问,核心是调整CyberPanel的配置并确保应用本身的监听设置正确,以下是两种可行的方案,你可以根据情况选择:

方案一:修正现有AppServer配置

你已经在vHost里配置了appserver,但可能有几个细节需要调整:

  1. 确认路径和监听地址

    • 先检查location的绝对路径是否准确,比如应该是类似/home/your-domain/public_html/dist这样的真实路径,替换掉你配置里的/FOLDER/FOLDER/PROJECT_FOLDER/dist
    • 打开你的dist/index.js,确保应用监听的是0.0.0.0而不是localhost,代码应该是:
      app.listen(3000, '0.0.0.0', () => {
        console.log('App running on port 3000');
      });
      
      这样CyberPanel的appserver才能正确转发外部请求到你的应用。
  2. 重启Web服务器
    登录CyberPanel后,进入Services菜单,找到OpenLiteSpeed/LiteSpeed服务,点击重启,让新的vHost配置生效。

  3. 测试访问
    直接用你的域名或者服务器IP访问80端口,应该就能看到你的应用了。

方案二:使用反向代理(更通用的方式)

如果AppServer配置方式遇到问题,反向代理是更稳妥的选择,步骤如下:

  1. 安装PM2管理Node应用
    首先确保应用能在后台持续运行,用PM2是最佳实践:

    • 安装PM2:npm install -g pm2
    • 进入你的应用dist目录:cd /FOLDER/FOLDER/PROJECT_FOLDER/dist
    • 启动应用:pm2 start index.js --name my-node-app
    • 设置开机自启:执行pm2 startup,然后按照终端提示的命令完成配置。
  2. 添加反向代理规则

    • 登录CyberPanel,进入对应网站的Manage -> Rewrite Rules
    • 清空原有规则(如果有的话),添加以下内容:
      RewriteEngine On
      RewriteRule ^(.*)$ http://localhost:3000/$1 [P,L]
      
    • 点击保存,然后回到Services重启OpenLiteSpeed/LiteSpeed服务。
  3. 验证访问
    现在直接访问你的域名/服务器IP的80端口,请求会被转发到3000端口的Node应用,实现80端口访问。

额外注意事项

  • 防火墙检查:确保服务器的80端口已经在防火墙(比如ufw、firewalld)中开放,避免外部请求被拦截。
  • 端口冲突:确认3000端口没有被其他服务占用,可以用netstat -tulpn | grep 3000检查。

内容的提问来源于stack exchange,提问作者Icler Anaya

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 08:37:52