首页
/ TellForm项目部署指南:从Docker本地部署到AWS云服务

TellForm项目部署指南:从Docker本地部署到AWS云服务

2025-07-10 03:57:23作者:管翌锬

项目概述

TellForm是一个开源的在线表单构建平台,允许用户快速创建和分享各类表单。本文将详细介绍TellForm的两种主要部署方式:使用Docker进行本地部署和在AWS云服务上的部署方案。

本地Docker部署方案

环境准备

  1. 确保系统已安装Docker和Docker Compose
  2. 建议使用Linux或macOS系统以获得最佳兼容性

部署步骤

  1. 获取Docker配置文件
  2. 配置必要的环境变量
  3. 构建并启动容器

这种部署方式适合开发测试环境,能够快速搭建起完整的TellForm运行环境。

AWS云服务部署方案

环境准备

系统配置

  1. 使用Amazon Linux AMI作为基础系统

  2. 设置正确的语言环境变量:

    LANG=en_US.utf-8
    LC_ALL=en_US.utf-8
    
  3. 更新系统并安装开发工具:

    sudo yum update -y
    sudo yum groupinstall "Development Tools" -y
    

Docker环境安装

  1. 安装Docker引擎:

    sudo yum install -y docker
    sudo service docker start
    
  2. 配置非root用户权限:

    sudo usermod -a -G docker ec2-user
    logout
    
  3. 重新登录后验证安装:

    docker info
    

Docker Compose安装

  1. 下载并安装最新版Docker Compose:
    sudo -i
    curl -L https://github.com/docker/compose/releases/download/1.15.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
    sudo chmod +x /usr/local/bin/docker-compose
    logout
    

项目配置

  1. 获取项目代码
  2. 创建并配置.env文件,包含以下关键参数:
    APP_NAME=FormSG
    NODE_ENV=production
    BASE_URL=<实例公网IP>
    PORT=4545
    DB_PORT_27017_TCP_ADDR=<MongoDB主机私有IP>
    REDIS_DB_PORT_6379_TCP_ADDR=formsg-redis
    MAILER_SERVICE_PROVIDER=<邮件服务商>
    MAILER_EMAIL_ID=<邮件账号>
    MAILER_PASSWORD=<邮件密码>
    MAILER_FROM=<发件人地址>
    

前端工具链安装

  1. 使用nvm安装Node.js:

    curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.32.0/install.sh | bash
    . ~/.nvm/nvm.sh
    nvm install 6.11.2
    
  2. 安装前端构建工具:

    npm install -g bower
    npm install -g grunt-cli
    npm install grunt
    

依赖安装与构建

  1. 安装项目依赖:

    npm install --production
    
  2. 构建Docker镜像:

    docker-compose -f docker-compose-production.yml build
    

服务启动

  1. 启动MongoDB容器:

    docker run -d -p 27017:27017 -v /data/db:/data/db --name formsg-mongo mongo
    
  2. 启动应用容器:

    docker-compose -f docker-compose-production.yml up
    

部署后验证

  1. 应用默认运行在80端口
  2. 通过浏览器访问实例公网IP验证部署结果
  3. 检查各服务日志确保无错误

生产环境建议

  1. 建议配置HTTPS加密访问
  2. 定期备份MongoDB数据卷
  3. 监控容器资源使用情况
  4. 考虑使用容器编排工具管理服务

常见问题处理

  1. 端口冲突:检查80端口是否被占用
  2. 数据库连接失败:验证MongoDB容器状态
  3. 邮件发送失败:检查邮件服务配置
  4. 构建错误:确保Node.js版本匹配

通过以上步骤,您可以在AWS云环境中成功部署TellForm表单平台,为用户提供稳定可靠的表单服务。