Vendure电商平台部署到Render云服务指南

【免费下载链接】vendure A headless GraphQL commerce platform for the modern web 【免费下载链接】vendure 项目地址: https://gitcode.com/gh_mirrors/ve/vendure

前言

Vendure是一款现代化的电商平台框架,基于Node.js和TypeScript构建。本文将详细介绍如何将Vendure项目部署到Render云服务平台。Render是一个全托管的云服务平台,提供简单易用的部署和扩展能力,非常适合中小型电商项目的托管需求。

部署准备

在开始部署前,您需要确保具备以下条件:

  1. 一个可用的Render账户
  2. 已经初始化好的Vendure项目代码库
  3. 基本的Node.js项目构建知识

基础配置

端口配置

Render平台通过PORT环境变量定义服务端口,默认值为10000。需要在Vendure配置文件中进行相应调整:

export const config: VendureConfig = {
    apiOptions: {
        port: +(process.env.PORT || 3000),  // 优先使用环境变量中的端口
        // 其他配置...
    },
    // 其他配置...
};

数据库连接

Render提供PostgreSQL数据库服务,需要配置Vendure使用环境变量连接数据库:

export const config: VendureConfig = {
    dbConnectionOptions: {
        type: 'postgres',
        database: process.env.DB_NAME,
        host: process.env.DB_HOST,
        port: +process.env.DB_PORT,
        username: process.env.DB_USERNAME,
        password: process.env.DB_PASSWORD,
        synchronize: true,  // 生产环境建议设为false
    },
};

资源文件存储

使用Render的持久化存储卷来保存上传的资源文件:

import { AssetServerPlugin } from '@vendure/asset-server-plugin';

export const config: VendureConfig = {
    plugins: [
        AssetServerPlugin.init({
            route: 'assets',
            assetUploadDir: process.env.ASSET_UPLOAD_DIR || '/vendure-assets',
        }),
    ],
};

部署步骤

1. 创建PostgreSQL数据库

在Render控制台:

  1. 点击"New"按钮
  2. 选择"PostgreSQL"服务
  3. 配置数据库名称、区域和计划
  4. 点击"Create Database"

2. 部署Vendure主服务

  1. 创建新的"Web Service"
  2. 选择代码库来源
  3. 配置服务参数:
    • 名称:vendure-server
    • 区域:选择靠近用户的区域
    • 构建命令:yarn && yarn buildnpm install && npm run build
    • 启动命令:node ./dist/index.js
  4. 添加持久化存储卷:
    • 挂载路径:/vendure-assets
    • 大小:根据需求设置

3. 配置环境变量

创建环境变量组并添加以下关键变量:

DB_NAME=数据库名称
DB_HOST=数据库主机地址
DB_PORT=数据库端口
DB_USERNAME=数据库用户名
DB_PASSWORD=数据库密码
ASSET_UPLOAD_DIR=/vendure-assets
COOKIE_SECRET=随机字符串
SUPERADMIN_USERNAME=管理员账号
SUPERADMIN_PASSWORD=管理员密码

4. 部署后台工作进程

  1. 创建新的"Background Worker"
  2. 配置参数:
    • 名称:vendure-worker
    • 启动命令:node ./dist/index-worker.js
  3. 关联相同的环境变量组

生产环境优化建议

  1. 资源存储优化

    • 使用MinIO替代本地存储
    • 配置S3兼容的存储策略
  2. 性能优化

    • 使用Redis作为作业队列和会话缓存
    • 启用水平扩展能力
  3. 安全建议

    • 生产环境关闭数据库自动同步
    • 定期备份数据库
    • 使用HTTPS和CDN加速

常见问题排查

  1. 服务启动失败

    • 检查构建日志中的错误信息
    • 确认环境变量配置正确
    • 验证数据库连接参数
  2. 资源上传问题

    • 确认存储卷已正确挂载
    • 检查目录权限设置
  3. 性能问题

    • 考虑升级实例规格
    • 启用Redis缓存

通过以上步骤,您已经成功将Vendure电商平台部署到Render云服务。这种部署方式提供了良好的可扩展性和易用性,适合从开发测试到中小规模生产环境的使用场景。

【免费下载链接】vendure A headless GraphQL commerce platform for the modern web 【免费下载链接】vendure 项目地址: https://gitcode.com/gh_mirrors/ve/vendure

Logo

电商企业物流数字化转型必备!快递鸟 API 接口,72 小时快速完成物流系统集成。全流程实战1V1指导,营造开放的API技术生态圈。

更多推荐