/tencent-discuzq

DiscusQ component

Primary LanguagePHPMIT LicenseMIT

腾讯云 Discuz!Q 组件 ⎯⎯⎯ 通过使用 Tencent Serverless Framework,基于云上 Serverless 服务(如网关、云函数、CFS 等),实现“0”配置,便捷开发,极速部署你的 Discuz!Q 应用,Discuz!Q 组件支持丰富的配置扩展,提供了目前最易用、低成本并且弹性伸缩的 Discuz!Q 项目开发/托管能力。

快速开始:

  1. 安装
  2. 创建
  3. 部署
  4. 配置
  5. 查看状态
  6. 移除

更多资源:

1. 安装

通过 npm 安装最新版本的 Serverless Framework

$ npm install -g serverless

2. 部署

serverless.yml 文件所在的项目根目录,运行以下指令进行部署:

$ serverless deploy

部署时需要进行身份验证,如您的账号未 登陆注册 腾讯云,您可以直接通过 微信 扫描命令行中的二维码进行授权登陆和注册。

注意: 如果希望查看更多部署过程的信息,可以通过serverless deploy --debug 命令查看部署过程中的实时日志信息。

部署成功后控制台输出参数介绍请参考 output 文档

3. 配置

Discuz!Q 组件支持 0 配置部署,也就是可以直接通过配置文件中的默认值进行部署。但你依然可以修改更多可选配置来进一步开发该 Discuz!Q 项目。

以下是 Discuz!Q 组件的 serverless.yml配置示例:

# serverless.yml

app: appDemo
stage: dev
component: discuz-q
name: discuzqDemo

inputs:
 region: ap-shanghai
 src:
   exclude:
     - .env

点此查看全量配置及配置说明

当你根据该配置文件更新配置字段后,再次运行 serverless deploy 或者 serverless 就可以更新配置到云端。

5. 查看状态

serverless.yml文件所在的目录下,通过如下命令查看部署状态:

$ serverless info

6. 移除

serverless.yml文件所在的目录下,通过以下命令移除部署的 Discuz!Q 服务。移除后该组件会对应删除云上部署时所创建的所有相关资源。

$ serverless remove

和部署类似,支持通过 serverless remove --debug 命令查看移除过程中的实时日志信息。

7. 安装

在部署完成 Discuz!Q 后,您需要进行初始化安装和配置数据库,安装步骤请参考官方文档。 建议使用与 Discuz!Q 实例同地域的数据库。

架构说明

Discuz!Q 组件将在腾讯云账户中使用到如下 Serverless 服务:

  • API 网关 - API 网关将会接收外部请求并且转发到 SCF 云函数中。
  • SCF 云函数 - 云函数将承载 Wordpress.js 应用。
  • CAM 访问控制 - 该组件会创建默认 CAM 角色用于授权访问关联资源。
  • COS 对象存储 - 为确保上传速度和质量,云函数压缩并上传代码时,会默认将代码包存储在特定命名的 COS 桶中。
  • VPC 私有网络 - 腾讯云私有网络。
  • CFS 文件存储 - 腾讯云文件存储。
  • SSL 证书服务 - 如果你在 yaml 文件中配置了 apigatewayConf.customDomains 字段,需要做自定义域名绑定并开启 HTTPS 时,也会用到证书管理服务和域名服务。Serverless Framework 会根据已经备案的域名自动申请并配置 SSL 证书。

账号配置

当前默认支持 CLI 扫描二维码登录,如您希望配置持久的环境变量/秘钥信息,也可以本地创建 .env 文件

$ touch .env # 腾讯云的配置信息

.env 文件中配置腾讯云的 SecretId 和 SecretKey 信息并保存

如果没有腾讯云账号,可以在此注册新账号

如果已有腾讯云账号,可以在API 密钥管理中获取 SecretIdSecretKey.

# .env
TENCENT_SECRET_ID=123
TENCENT_SECRET_KEY=123

License

MIT License

Copyright (c) 2020 Tencent Cloud, Inc.