Raypx

部署

使用 Docker 或其他平台部署 Raypx 到生产环境。

部署

Raypx 基于 TanStack Start 构建,生产输出为标准的 Node.js 服务端应用。本章介绍如何将 Raypx 部署到生产环境。

部署概览

Raypx 提供以下部署方式:

生产构建

使用以下命令进行生产构建:

pnpm build

构建产物输出到 .output/ 目录。该目录包含完整的独立应用,可以直接运行,无需源码。

构建命令内部会设置 NODE_ENV=production,以优化产物体积并启用生产模式专属功能(如 HSTS 安全头)。

生产启动

构建完成后,使用以下命令启动生产服务器:

pnpm start

该命令等价于:

dotenvx run -- node .output/server/index.mjs

使用 dotenvx 加载 .env 文件中的环境变量,然后通过 Node.js 直接运行构建产物。

你也可以直接运行:

node .output/server/index.mjs

但这种方式不会自动加载 .env 文件,需要确保所有环境变量已通过系统层面注入。

端口和主机配置

Raypx 的端口和主机通过环境变量控制:

环境变量默认值说明
HOST0.0.0.0监听地址。Docker 中默认为 0.0.0.0(所有接口)
PORT3001监听端口

开发环境下,Vite 开发服务器固定监听 3001 端口(strictPort: true)。

部署到 Docker 容器时,请确保 EXPOSE 指令与 PORT 环境变量一致,以便容器端口映射正常工作。

健康检查

生产环境部署时,建议为负载均衡器或容器编排系统配置健康检查端点。Raypx 应用在正常启动后即可响应 HTTP 请求。

一个基本的健康检查配置示例:

# HTTP 健康检查
curl -f http://localhost:3001/ || exit 1

Docker Compose 中的健康检查配置:

healthcheck:
  test: ["CMD", "node", "-e", "require('http').get('http://localhost:3001/', (r) => process.exit(r.statusCode === 200 ? 0 : 1))"]
  interval: 30s
  timeout: 10s
  retries: 3
  start_period: 10s

下一步

On this page