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

如何将NodeJS+Express+Socket.io开发的应用部署到Linux服务器并访问

NodeJS应用部署到Linux服务器操作流程

第一步:补全服务监听配置

你贴的server.js代码里缺少端口监听的逻辑,先在代码末尾添加以下内容,示例用3000端口,可自行修改为你想用的端口:

// 末尾新增
const PORT = process.env.PORT || 3000;
server.listen(PORT, () => {
  console.log(`服务已启动,运行在端口${PORT}`);
});

第二步:临时启动验证连通性

  • 登录服务器后cd到代码存放的目录,执行node server.js启动服务
  • 先在服务器本地验证服务是否正常:执行curl http://localhost:3000,如果能返回页面代码说明服务启动成功
  • 本地浏览器访问http://服务器公网IP:3000,如果无法访问优先检查两个配置:
    • 服务器服务商的安全组规则是否开放了3000端口的入站访问权限
    • Linux服务器内部防火墙(firewalld/ufw)是否放通了3000端口

第三步:配置进程持久化运行

直接用node server.js启动的服务会在你断开SSH连接后停止,推荐用PM2管理Node进程:

  • 全局安装PM2:npm install -g pm2
  • 启动应用:pm2 start server.js --name my-webapp(my-webapp可替换为你自定义的应用名)
  • 常用管理命令:
    • 查看运行状态:pm2 list
    • 查看应用日志:pm2 logs my-webapp
    • 重启应用:pm2 restart my-webapp
    • 停止应用:pm2 stop my-webapp
  • 配置开机自启:执行pm2 startup,按照终端输出的提示复制命令执行后,再执行pm2 save保存当前进程列表,服务器重启后应用会自动启动

第四步:可选进阶配置(推荐生产环境使用)

可以安装Nginx作为反向代理,实现不用带端口访问、绑定域名、配置HTTPS、静态资源加速等能力,配置时需要额外添加websocket支持,保证socket.io和peerjs的实时通信功能正常。

入门学习资源推荐

可以先从以下方向的官方文档入手学习:

  • Linux基础操作、防火墙配置相关入门教程
  • NodeJS生产环境部署官方指引
  • PM2官方使用文档
  • Nginx基础配置教程

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 11:24:00