1.1. 小程序配置
登录微信公众平台https://mp.weixin.qq.com/ ,开发->开发管理->开发设置
1.复制小程序ID和小程序密钥
2.添加应用服务器IP到白名单
3.添加服务域名
- request合法域名:填写应用服务接口域名
- uploadFile合法域名:填写腾讯云的桶名字.cos.地域.myqcloud.com和桶名字.file.myqcloud.com
- downloadFile合法域名:填写腾讯云的桶名字.cos.地域.myqcloud.com和桶名字.file.myqcloud.com
4.设置接口域名
config/privateConfig.js修改phpApi和uploadApi域名
1.2. 环境部署
1.创建MySQL数据库、账号和分配权限
#参考命令,创建数据库dm
CREATE DATABASE `dm` CHARACTER SET 'utf8' COLLATE 'utf8_general_ci';
#参考命令,创建账号dm-api,主机%,密码password。建议主机设置为应用服务器的内网IP
CREATE USER `dm-api`@`%` IDENTIFIED BY 'password';
#参考命令,分配数据库dm的权限给dm-api
GRANT Alter, Create, Delete, Drop, Index, Insert, Select, Update ON `dm`.* TO `dm-api`@`%`;
2.创建Redis账号
3.创建MQ账号、vhost
4.添加阿里云短信签名和模板
5.拉取服务镜像
5.1 服务镜像
#安装容器
curl https://releases.rancher.com/install-docker/20.10.sh | sh
#安装docker-compose
wget https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m) -O /usr/local/bin/docker-compose
#登陆镜像仓库,账号密码由销赞云提供
docker login uhub.service.ucloud.cn -u 账号 -p 密码
#更新镜像
#修改docker-compose.yml里面的镜像tag,前端digital-marketing和后端digital-marketing-api镜像tag由销赞云提供
docker-compose up --force-recreate -d
5.2 docker-compose.yml
镜像tag销赞云提供
digital-marketing-api的working_dir请勿修改
容器/data/picture/目录用于存储中转文件、图片、小程序码等
容器/data/logs/目录用于存储日志
version: '3' services: digital-marketing: image: uhub.service.ucloud.cn/xzcloud/dm:009f03b working_dir: /data/htdocs/ container_name: digital-marketing ports: - "80:80" - "443:443" links: - digital-marketing-api depends_on: - digital-marketing-api digital-marketing-api: image: uhub.service.ucloud.cn/xzcloud/digital-marketing-api:892cdf4 working_dir: /digital-marketing-api.xiaozancloud.com container_name: digital-marketing-api ports: - "9501:9501" command: sh -c "php /digital-marketing-api.xiaozancloud.com/bin/hyperf.php start" volumes: - /data/service/digital-marketing-api/.env:/digital-marketing-api.xiaozancloud.com/.env - /data/service/digital-marketing-api/picture/:/data/picture/ - /data/logs/digital-marketing-api/:/data/logs/
5.3 .env.example
``` APP_NAME=dm-api
2. 应用环境标识,请勿修改
APP_ENV=prod
3. 启用代码缓存,提高性能,请勿修改
SCAN_CACHEABLE=true
4. 应用api http服务端口,Nginx反向代理到此端口
HTTP_SERVER_PORT=9501
5. 应用部署模式:private
APP_DEPLOYMENT_MODE=private
6. 应用版本号,用于迭代更新,请勿随意修改
APP_VERSION=v1.0.0
7. 应用前端域名,用于微信模板消息、短信跳转dm-h5服务再拉起小程序
WEB_HOST=https://yourdomain.com
8. 日志目录
LOG_PATH=/data/logs/
9. ------------------------------------------------------------------------
10. ---------------------------数据库配置 Start-------------------------------
11. ------------------------------------------------------------------------
DB_DRIVER=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=dm DB_USERNAME=dmapi DB_PASSWORD=password
12. 表前缀
DBPREFIX=dm
13. ------------------------------------------------------------------------
14. ---------------------------数据库配置 Start ------------------------------
15. ------------------------------------------------------------------------
16. ------------------------------------------------------------------------
17. ---------------------------Redis配置 Start ------------------------------
18. ------------------------------------------------------------------------
19. 持久化配置
REDIS_HOST=127.0.0.1 REDIS_PORT=6379 REDIS_AUTH=password REDIS_PREFIX= REDIS_DB=0
20. 缓存配置
CACHE_HOST=127.0.0.1 CACHE_PORT=6379 CACHE_AUTH=password
21. 如果与redis共用实例,那么最好区分前缀
CACHE_PREFIX=c: CACHE_DB=0
22. ------------------------------------------------------------------------
23. ---------------------------Redis配置 End---------------------------------
24. ------------------------------------------------------------------------
25. ------------------------------------------------------------------------
26. ---------------------------RabbitMQ Start-------------------------------
27. ------------------------------------------------------------------------
AMQP_HOST=127.0.0.1 AMQP_PORT=5672 AMQP_USER=rabbitmq AMQP_PASSWORD=password AMQP_VHOST=dm
28. ------------------------------------------------------------------------
29. ---------------------------RabbitMQ End---------------------------------
30. ------------------------------------------------------------------------
31. ------------------------------------------------------------------------
32. -------------------------- 云服务配置 Start -----##-----------------------
33. ------------------------------------------------------------------------
34. 支持的短信服务商:ucloud、qcloud、aliyun
SMS_GATEWAY=aliyun
35. 请求短信服务超时时间(秒)
SMS_HTTP_TIMEOUT=5
36. ------------ 腾讯云API密钥 start -------------
37. 账号ID,获取地址:https://console.cloud.tencent.com,控制台->右上角账号信息->账号ID
QCLOUD_UIN=
38. APPID,创建获取地址:https://console.cloud.tencent.com/cam/capi
QCLOUD_APP_ID=
39. SecretId
QCLOUD_SECRET_ID=
40. SecretKey
QCLOUD_SECRET_KEY=
41. 对象存储默认bucket,创建获取地址:https://console.cloud.tencent.com/cos/bucket
QCLOUD_COS_BUCKET=
42. 短信应用ID,创建获取地址:https://console.cloud.tencent.com/smsv2/app-manage
QCLOUD_SMS_SDK_APP_ID=
43. 短信签名,创建获取地址:https://console.cloud.tencent.com/smsv2/csms-sign
QCLOUD_SMS_SIGN_NAME=
44. ------------ 优刻得API密钥 start ------------
45. publicKey,创建获取地址:https://console.ucloud.cn/uaccount/api_manage
UCLOUD_PUBLIC_KEY=
46. privateKey
UCLOUD_PRIVATE_KEY=
47. 项目ID,子账号需要配置,创建获取地址:https://console.ucloud.cn/
UCLOUD_PROJECT_ID=
48. 短信签名,创建获取地址:https://console.ucloud.cn/usms/domestic
UCLOUD_SMS_SIG_CONTENT=
49. ------------ 阿里云API密钥 start ------------
50. 阿里云API密钥,创建获取地址:https://ram.console.aliyun.com/manage/ak
51. AccessKey ID
ALIYUN_ACCESS_KEY_ID=
52. AccessKey Secret
ALIYUN_ACCESS_KEY_SECRET=
53. 默认短信签名,创建获取地址:https://dysms.console.aliyun.com/domestic/text/sign
ALIYUN_SMS_SIGN_NAME=
54. -------------------------------------------------------------------------
55. ---------------------------- 云服务配置 End -------------------------------
56. -------------------------------------------------------------------------
57. -------------------------------------------------------------------------
58. -------------------- 销赞云营销数字化Oauth2 Client Start -------------------
59. -------------------------------------------------------------------------
60. 域名不可变更,ClientId和ClientSecret 销赞云提供,模板消息推送服务
DM_OAUTH2_API_HOST=https://dm-api.xiaozancloud.com DM_OAUTH2_CLIENT_ID= DM_OAUTH2_CLIENT_SECRET=
61. -------------------------------------------------------------------------
62. -------------------- 销赞云营销数字化Oauth2 Client End ---------------------
63. -------------------------------------------------------------------------
63.1. 修改应用配置文件(.env)
1.域名配置
#应用前端域名,用于微信模板消息、短信跳转dm-h5服务再拉起小程序
WEB_HOST=https://yourdomain.com
2.MySQL配置
#参考示例
DB_DRIVER=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=dm
DB_USERNAME=dm-api
DB_PASSWORD=password
#表前缀
DB_PREFIX=dm_
3.redis配置
#参考示例
#持久化配置
REDIS_HOST=127.0.0.1
REDIS_PORT=6379
REDIS_AUTH=password
REDIS_PREFIX=
REDIS_DB=0
#缓存配置
CACHE_HOST=127.0.0.1
CACHE_PORT=6379
CACHE_AUTH=password
#如果与redis共用实例,那么最好区分前缀
CACHE_PREFIX=c:
CACHE_DB=0
4.MQ配置
#参考示例
AMQP_HOST=127.0.0.1
AMQP_PORT=5672
AMQP_USER=rabbitmq
AMQP_PASSWORD=password
AMQP_VHOST=dm
5.腾讯云对象存储和短信配置
#账号ID,获取地址:https://console.cloud.tencent.com,控制台->右上角账号信息->账号ID
QCLOUD_UIN=
#APPID,创建获取地址:https://console.cloud.tencent.com/cam/capi
QCLOUD_APP_ID=
#SecretId
QCLOUD_SECRET_ID=
#SecretKey
QCLOUD_SECRET_KEY=
#对象存储默认bucket,创建获取地址:https://console.cloud.tencent.com/cos/bucket
QCLOUD_COS_BUCKET=
#短信应用ID,创建获取地址:https://console.cloud.tencent.com/smsv2/app-manage
QCLOUD_SMS_SDK_APP_ID=
#短信签名,创建获取地址:https://console.cloud.tencent.com/smsv2/csms-sign
QCLOUD_SMS_SIGN_NAME=
6.阿里云短信配置
#阿里云API密钥,创建获取地址:https://ram.console.aliyun.com/manage/ak
#AccessKey ID
ALIYUN_ACCESS_KEY_ID=
#AccessKey Secret
ALIYUN_ACCESS_KEY_SECRET=
#默认短信签名,创建获取地址:https://dysms.console.aliyun.com/domestic/text/sign
ALIYUN_SMS_SIGN_NAME=
7.Ucloud短信配置
#publicKey,创建获取地址:https://console.ucloud.cn/uaccount/api_manage
UCLOUD_PUBLIC_KEY=
#privateKey
UCLOUD_PRIVATE_KEY=
#项目ID,子账号需要配置,创建获取地址:https://console.ucloud.cn/
UCLOUD_PROJECT_ID=
#短信签名,创建获取地址:https://console.ucloud.cn/usms/domestic
UCLOUD_SMS_SIG_CONTENT=
#支持的短信服务商:ucloud、qcloud、aliyun
SMS_GATEWAY=aliyun
#请求短信服务超时时间(秒)
SMS_HTTP_TIMEOUT=5
8.短信服务商配置
#支持的短信服务商:ucloud、qcloud、aliyun
SMS_GATEWAY=aliyun
#请求短信服务超时时间(秒)
SMS_HTTP_TIMEOUT=5
7.微信消息模板配置(clientId和clientSecret由销赞云提供)
#域名不可变更,ClientId和ClientSecret 销赞云提供,模板消息推送服务
DM_OAUTH2_API_HOST=https://dm-api.xiaozancloud.com
DM_OAUTH2_CLIENT_ID=
DM_OAUTH2_CLIENT_SECRET=
63.2. 系统初始化
1.初始化
进入系统目录执行命令,按提示操作:
php bin/hyperf.php dm:appInit
2.登录系统,绑定短信模板
设置-推送管理-短信模板