阿里云 Composer 镜像开源啦。3 步快速搭建自己的 Composer 的镜像。
简介:为了服务 PHP 开发者,2019 年 7 月,阿里云提供了 Composer 镜像服务。本文将为大家介绍如何通过 3 步快速搭建自己的 Composer 镜像。为了服务 PHP 开发者,2019年7月,阿里云提供了 Composer 镜像服务:阿里云Composer镜像站-阿里云开发者社区-阿里云官网开发者社区_云计算社区,其秒级同步、快速访问的能力得到了广大 PHP 开发者的一致好评。目
简介: 为了服务 PHP 开发者,2019 年 7 月,阿里云提供了 Composer 镜像服务。本文将为大家介绍如何通过 3 步快速搭建自己的 Composer 镜像。
为了服务 PHP 开发者,2019年7月,阿里云提供了 Composer 镜像服务: 阿里云Composer镜像站-阿里云开发者社区-阿里云官网开发者社区_云计算社区,其秒级同步、快速访问的能力得到了广大 PHP 开发者的一致好评。
目前,阿里云 Composer 日均使用 200W,为了不断优化和提升 Composer 镜像的能力,更好地服务 PHP 开发者,阿里云决定开源镜像同步系统!欢迎广大网友体验和参与开发,提交PR。一起让 PHP 社区更加繁荣!
话不多说,接下来教大家如何搭建自己的 Composer 镜像。
第 1 步
- 首先,你需要在阿里云上开通一个 OSS Bucket,用于存储镜像文件。建议选择和服务器最近的Endpoint。点击此处进入OSS控制台:阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台
- 其次,你需要一个存储空间不低于 4G 的 Redis,用于存储任务和队列。
- 最后,确保安装了 Golang 环境,版本大于 1.11。
第 2 步
定制你的配置文件。下载阿里云 Composer 镜像代码,GitHub - aliyun/packagist-mirror: Alibaba Cloud Packagist Mirror。在项目的根目录新建文件 packagist.yml,并写入如下配置:
REDIS_ADDR: "地址:端口"
REDIS_PASSWORD: "密码"
REDIS_DB: 0
OSS_ACCESS_KEY_ID: "OSS
AccessKeyID"
OSS_ACCESS_KEY_SECRET: "OSS AccessKeySecret"
OSS_ENDPOINT: "OSS Endpoint,如:oss-cn-hangzhou.aliyuncs.com"
OSS_BUCKET: "Bucket 名"
GITHUB_TOKEN: "Github Token,如:6a023b828b17*****0ab5tgj6ddb3f0ccb3d30e0"
DATA_URL: "同步源地址,如:[https://mirrors.aliyun.com/composer/"](https://mirrors.aliyun.com/composer/%22)
MIRROR_URL: "镜像网址,如:[https://developer.aliyun.com/composer/"](https://developer.aliyun.com/composer/%22)
DIST_URL: "ZIP包下载地址,如:[https://mirrors.aliyun.com/composer/dists/"](https://mirrors.aliyun.com/composer/dists/%22)
PROVIDER_URL: "Provider 前缀”
主要配置详解
OSS_ACCESS_KEY_ID
可以向 Bucket 写入文件的 Access Key,为了云上资源的安全,强烈建议新建一个专用的子账号,账户的权限配置最小化。点击此处进入阿里云RAM控制台:阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台
GITHUB_TOKEN
大部分依赖包的zip文件被托管在 Github 上,系统需要从 Github 上读取到数据再上传到 OSS 上,如果没有 token 请求 Github 会被限制。点击此处生成新 token 地址:Sign in to GitHub · GitHub。
DATA_URL
从哪里读取 Meta 数据,亚太地区建议使用阿里云源:https://mirrors.aliyun.com/composer/。亚太地区以外使用:Packagist
MIRROR_URL
你的镜像地址,即你对外提供服务的地址,如果有配置 CDN ,建议是 CDN 的地址,系统会自动请求资源预热。
PROVIDER_URL
你的 providers 文件路径前缀,正常情况下根目录,也存在代理到子目录的配置。
DIST_URL
你的代码包下载地址前缀,会被写入根文件,Composer 客户端会根据这个地址下载 Dist 包。
第 3 步
编译并运行!
go build
./packagist-mirror
注意:
- 推荐使用进程管理工具 supervisor 监听进程,配置文件位于
supervisor/supervisord.conf
- 如果对公网提供服务,推荐 OSS Bucket 启用 CDN 缓存功能,可以减少流量,控制成本。
更多推荐
所有评论(0)