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

WHM VPS环境cPanel无Node.js选项时如何部署Node.js API

cPanel部署Node.js API操作指南(无Node.js Applications入口场景)

前置说明

  • 你当前cPanel面板看不到Node.js Applications入口,核心原因是服务器层面未安装cPanel官方Node.js运行组件、或者站点账号未开放对应功能权限,PHP Manager仅支持PHP环境管理,无法直接用来运行Node.js服务,不要尝试在PHP Manager中强行适配Node.js环境,会引发端口冲突、进程异常问题。
  • 以下操作默认你持有VPS的root管理权限,如果仅持有cPanel站点子账号无root权限,直接联系主机商帮你开启Node.js Selector功能即可,子账号层面无法调出隐藏的功能入口。

方案1:开启cPanel原生Node.js支持(优先选择,稳定性最高)

  1. 登录服务器级WHM管理面板,访问地址一般为你的服务器IP:2087,使用root账号密码登录
  2. 在左侧菜单栏找到「Software」分类下的「EasyApache 4」,进入后点击当前运行环境配置旁的「Customize」按钮
  3. 切换到「Additional Packages」标签页,找到和你本地开发API匹配的Node.js大版本(可选nodejs16、nodejs18、nodejs20),勾选后点击页面底部的「Next」,等待组件自动编译安装完成
  4. 回到WHM左侧菜单,找到「Feature Manager」入口,选择当前站点账号绑定的功能集(默认一般为default),点击「Edit」
  5. 在功能列表中找到「Application Manager」「Node.js Selector」两个选项,勾选后保存配置
  6. 退出当前cPanel站点账号重新登录,「Software」板块就会显示Node.js Applications入口,后续按照页面引导选择API项目目录、指定启动文件(通常为index.js/app.js/server.js)、配置环境变量、映射访问域名即可完成部署。

方案2:手动部署(无需开启cPanel原生组件)

如果不想安装cPanel官方Node.js组件,可以直接通过SSH部署+反向代理的方式运行服务:

  1. 通过SSH连接VPS服务器,安装和本地开发版本一致的Node.js运行时以及对应包管理器
  2. 将你的Node.js API代码上传到服务器非web公开目录,推荐路径为/home/你的cPanel用户名/node-projects/api,不要把代码放在public_html目录下,避免源码直接对外泄露
  3. 进入项目目录执行npm install --production安装生产环境依赖,执行node 你的启动文件名.js本地测试接口是否能正常响应,测试完成后终止测试进程
  4. 全局安装pm2进程守护工具:npm install -g pm2,执行pm2 start 你的启动文件名.js --name node-api启动服务,依次执行pm2 save保存进程列表、pm2 startup生成开机自启命令,复制终端返回的自启命令执行,即可保证服务器重启后API服务自动运行
  5. 回到cPanel站点面板,在「Domains」板块为API服务绑定专属子域名(比如api.你的主域名.com)
  6. 找到cPanel内的web服务器配置入口(不同版本可能叫Apache Configuration、Nginx Manager),给刚才绑定的API子域名添加反向代理规则,代理目标地址填http://127.0.0.1:你的API服务监听的端口,保存配置后重载web服务
  7. 在服务器防火墙、cPanel防火墙中放行API服务监听的本地端口,避免访问超时。

注意:不要让Node.js服务直接监听80、443端口,这两个端口默认被cPanel的web服务占用,强行占用会导致面板和所有站点无法访问,Node服务只需监听127.0.0.1下的高端口(比如3000、8080)即可,所有外部流量通过反向代理转发。

内容的提问来源于stack exchange,提问作者Arslan Habib

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.31 21:36:42