Keygen部署指南从本地开发到生产环境全攻略【免费下载链接】keygen-apiKeygen is an open, source-available software licensing and distribution API built with Ruby on Rails. For developers, by developers.项目地址: https://gitcode.com/gh_mirrors/ke/keygen-apiKeygen是一个开源的软件许可和分发API基于Ruby on Rails构建专为开发者打造。本指南将帮助你从本地开发环境到生产部署全面掌握Keygen的部署流程轻松搭建属于自己的软件许可服务。 准备工作环境与依赖在开始部署Keygen之前请确保你的系统满足以下要求Ruby版本3.4.7或更高项目使用Ruby 3.4.7-alpine作为基础镜像数据库PostgreSQL 17.5用于主数据存储和ClickHouse用于分析数据容器化工具Docker和Docker Compose推荐使用简化部署流程其他依赖Redis用于缓存和Sidekiq任务队列、Caddy用于反向代理和HTTPS核心依赖检查清单 ✅检查Docker是否安装docker --version docker-compose --version克隆项目仓库git clone https://gitcode.com/gh_mirrors/ke/keygen-api cd keygen-api 本地开发环境搭建本地开发环境推荐使用Docker Compose一键部署项目已提供完整的配置文件1. 配置环境变量创建.env文件设置必要的环境变量参考项目根目录的环境变量模板# 数据库配置 POSTGRES_USERkeygen POSTGRES_PASSWORDsecure_password POSTGRES_DBkeygen_dev # 应用配置 KEYGEN_HOSTlocalhost:3000 RAILS_ENVdevelopment2. 启动开发环境使用Docker Compose启动所有服务docker-compose up -d该命令会启动以下服务定义在compose.yaml中postgresPostgreSQL数据库端口5432redisRedis缓存端口6379webKeygen主应用端口3000workerSidekiq任务处理器caddy反向代理服务器3. 初始化数据库执行数据库迁移和初始化docker-compose run --rm migrate4. 访问开发环境打开浏览器访问http://localhost:3000确认应用正常运行。开发环境下可通过以下命令进入Rails控制台调试docker-compose run --rm console 生产环境部署生产环境需要更严格的安全配置和性能优化推荐使用Docker Compose结合Caddy实现HTTPS和反向代理。1. 生产环境配置创建生产环境专用的.env.prod文件重点配置以下参数# 安全配置 SECRET_KEY_BASEyour_secure_secret_key RAILS_ENVproduction # 数据库配置 DATABASE_URLpostgres://user:passwordpostgres:5432/keygen_prod CLICKHOUSE_DATABASE_URLhttp://clickhouse:8123/keygen_clickhouse_prod # 网络配置 KEYGEN_HOSTyour-domain.com CADDY_HOSTSyour-domain.com2. 构建生产镜像使用项目根目录的Dockerfile构建生产镜像docker build -t keygen/api:prod .3. 启动生产服务使用生产配置启动服务docker-compose -f compose.yaml --env-file .env.prod up -d4. 数据库迁移与初始化执行生产环境数据库迁移docker-compose -f compose.yaml --env-file .env.prod run --rm migrate5. 配置HTTPS项目集成了Caddy服务配置文件Caddyfile自动处理SSL证书。确保服务器已开放80/443端口CADDY_HOSTS环境变量设置为你的域名域名已正确解析到服务器IP⚙️ 核心配置文件解析数据库配置config/database.yml该文件定义了多环境数据库连接配置支持PostgreSQL主从架构和ClickHouse分析数据库defaultPostgreSQL基础配置包含连接池、超时设置development/test/production分环境配置支持环境变量注入clickhouseClickHouse连接配置用于存储 metrics 和 event logsDocker Compose配置compose.yaml定义了完整的服务栈postgres数据库服务使用持久化卷存储数据redis缓存和任务队列webRails应用服务暴露3000端口workerSidekiq任务处理器处理异步任务如webhook、邮件发送caddy反向代理处理HTTPS和请求路由DockerfileDockerfile采用多阶段构建优化镜像大小Build阶段安装依赖和编译Ruby gemsFinal阶段仅保留运行时依赖减小镜像体积 常见问题与解决方案1. 数据库连接失败检查DATABASE_URL环境变量是否正确确保PostgreSQL服务正常运行docker-compose exec postgres psql -U $POSTGRES_USER -d $POSTGRES_DB2. 应用启动后无法访问检查Caddy日志排查反向代理问题docker-compose logs caddy3. 性能优化建议调整database.yml中的pool参数默认根据Sidekiq并发度自动调整生产环境启用Redis缓存设置REDIS_URL环境变量对于高流量场景考虑水平扩展web和worker服务 扩展阅读项目配置文件config/数据库迁移脚本db/migrate/任务队列配置config/sidekiq.yml环境变量模板参考项目根目录的.env.example如有通过本指南你已掌握Keygen从本地开发到生产部署的完整流程。Keygen的模块化设计使其易于扩展和定制如需进一步定制功能可参考源代码中的lib/keygen/模块。【免费下载链接】keygen-apiKeygen is an open, source-available software licensing and distribution API built with Ruby on Rails. For developers, by developers.项目地址: https://gitcode.com/gh_mirrors/ke/keygen-api创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
Haproxy简介及配置文件详解配置haproxy首先yum安装haproxyYum install -y haproxy编辑haproxy.cfg文件Vim /etc/haproxy/haproxy.cfg#---------------------------------------------------------------------# Example configuration for a possible web application. See th…