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

React构建产物用PM2部署时-T选项报错的技术求助

解决PM2无法识别-T参数运行HTTPS React应用的问题

你遇到的问题核心是:PM2自带的serve命令和你之前用的serve工具(npm包serve)不是同一个工具,所以PM2的serve并不支持-T这个参数。下面给你两种实用的解决方案:

方案一:用PM2直接启动原生serve命令

既然你已经习惯用serve -T -p 443 build/运行应用,那可以让PM2作为进程管理器,直接启动这个原生serve命令,而不是用PM2内置的serve子命令。步骤如下:

  1. 确保全局安装serve包(如果之前用的是npx serve,全局安装能避免路径问题):

    sudo npm install -g serve
    
  2. 用PM2启动serve命令,注意用--分隔PM2的参数和serve的参数:

    sudo pm2 start serve -- -T -p 443 build/
    
  3. 配置开机自启,确保服务器重启后应用自动恢复:

    pm2 save
    pm2 startup
    

    执行pm2 startup后,按照终端提示运行生成的命令即可完成开机自启配置。

方案二:自定义Node.js HTTPS服务器(更灵活)

如果需要更多自定义配置(比如处理React SPA的路由、添加中间件等),可以写一个简单的Node.js服务器脚本,用PM2启动它。这种方式不依赖外部serve工具,可控性更强:

  1. 安装express(用来托管静态文件):

    npm install express --save
    
  2. 在项目根目录创建server.js文件,替换证书路径为你自己的:

    const express = require('express');
    const https = require('https');
    const fs = require('fs');
    const path = require('path');
    
    const app = express();
    
    // 托管build文件夹下的静态资源
    app.use(express.static(path.join(__dirname, 'build')));
    
    // 处理React SPA路由:所有非静态资源请求返回index.html
    app.get('*', (req, res) => {
      res.sendFile(path.join(__dirname, 'build', 'index.html'));
    });
    
    // 配置HTTPS证书和密钥(替换成你的证书文件路径)
    const httpsOptions = {
      key: fs.readFileSync('/etc/letsencrypt/live/your-domain.com/privkey.pem'),
      cert: fs.readFileSync('/etc/letsencrypt/live/your-domain.com/fullchain.pem')
    };
    
    // 启动HTTPS服务器,监听443端口
    https.createServer(httpsOptions, app).listen(443, () => {
      console.log('HTTPS服务器已启动,监听端口443');
    });
    
  3. 用PM2启动这个服务器脚本:

    sudo pm2 start server.js --name react-https-app
    
  4. 同样配置开机自启:

    pm2 save
    pm2 startup
    

常用PM2命令

  • 查看应用日志:pm2 logs react-https-app
  • 重启应用:pm2 restart react-https-app
  • 停止应用:pm2 stop react-https-app
  • 查看所有运行进程:pm2 list

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 10:30:14