Hyperf 接入阿里云ACM应用配置管理中心
参考:
阿里云文档:https://help.aliyun.com/document_detail/85466.html?spm=a2c4g.11186623.6.550.43cb42d4Af4Tu0
CSDN博客:https://blog.csdn.net/donjan/article/details/103258621
hyperf文档:https://hyperf.wiki/2.1/#/zh-cn/config-center
----------------------------------------
开通应用配置管理
然后创建配置
选择一个地区。然后开始创建配置
endpoint :其实表示的是一个内网地址。如果你在本地或者虚拟机上面。是完全ping不通的。会报timeout 超时。
这一步的时候。可能刚进去的人会不存在红框里面的数据,或者在提交的时候报没有权限操作。除了是真的没权限之外。还有一个可能是没有选所属地域。
不管你选了还是没选。重新在地域重新选一遍。再选回你想要的就可以了。就是那些华南1深圳或者华东华北那些。在左上角阿里云logo旁边的工作台的旁边
配置内容就是你要的配置。可以配置json模式
比如 { "app_name":"app_name_from_ali", "redis.default.port": 6377 }
到这里配置项就基本完了
-----------------下面是代码-----------------------
- 在
config/autoload
文件夹内增加一个aliyun_acm.php
的配置文件,配置内容如下
<?php return [ // 是否开启配置中心的接入流程,为 true 时会自动启动一个 ConfigFetcherProcess 进程用于更新配置 'enable' => true, // 是否使用独立进程来拉取config,如果否则将在worker内以协程方式拉取 'use_standalone_process' => true, // 配置更新间隔(秒) 'interval' => 5, // 阿里云 ACM 断点地址,取决于您的可用区 'endpoint' => env('ALIYUN_ACM_ENDPOINT', 'acm.aliyun.com'), // 当前应用需要接入的 Namespace 'namespace' => env('ALIYUN_ACM_NAMESPACE', ''), // 您的配置对应的 Data ID 'data_id' => env('ALIYUN_ACM_DATA_ID', ''), // 您的配置对应的 Group 'group' => env('ALIYUN_ACM_GROUP', 'DEFAULT_GROUP'), // 您的阿里云账号的 Access Key 'access_key' => env('ALIYUN_ACM_AK', ''), // 您的阿里云账号的 Secret Key 'secret_key' => env('ALIYUN_ACM_SK', ''), ];
ALIYUN_ACM_ENDPOINT 这个东西。其实在hyperf里面就是会curl访问的一个地址,后面拼接了8080端口。配置好了之后在控制台输出中心就能看到,也能看到他返回的数据
如果你返回的是timeout。就表示你是在本地或者虚拟机。他这个地址是内网地址。必须在线上操作。
如果你非要在本地。就改成acm.aliyun.com。这个是公网的调试地址。同时!!!!重点!!!。选好对应的地域!!!!。然后再重新配置一遍。不然后面走不下去。
配置好了之后,控制台重启。能看到传回来的信息
这里就表示成功了。