简介: 为了服务 PHP 开发者,2019 年 7 月,阿里云提供了 Composer 镜像服务。本文将为大家介绍如何通过 3 步快速搭建自己的 Composer 镜像。

为了服务 PHP 开发者,2019年7月,阿里云提供了 Composer 镜像服务: 阿里云Composer镜像站-阿里云开发者社区-阿里云官网开发者社区_云计算社区,其秒级同步、快速访问的能力得到了广大 PHP 开发者的一致好评。
 
目前,阿里云 Composer 日均使用 200W,为了不断优化和提升 Composer 镜像的能力,更好地服务 PHP 开发者,阿里云决定开源镜像同步系统!欢迎广大网友体验和参与开发,提交PR。一起让 PHP 社区更加繁荣!
 
话不多说,接下来教大家如何搭建自己的 Composer 镜像。
 

第 1 步

  1. 首先,你需要在阿里云上开通一个 OSS Bucket,用于存储镜像文件。建议选择和服务器最近的Endpoint。点击此处进入OSS控制台:阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台
  2. 其次,你需要一个存储空间不低于 4G 的 Redis,用于存储任务和队列。
  3. 最后,确保安装了 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 

注意:

  1. 推荐使用进程管理工具 supervisor 监听进程,配置文件位于 supervisor/supervisord.conf
  2. 如果对公网提供服务,推荐 OSS Bucket 启用 CDN 缓存功能,可以减少流量,控制成本。

本文转自: 阿里云 Composer 镜像开源啦!3 步快速搭建自己的 Composer 的镜像!-阿里云开发者社区

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐