阿里云 Composer 镜像开源啦!3 步快速搭建自己的 Composer 的镜像!

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
对象存储 OSS,20GB 3个月
云数据库 Tair(兼容Redis),内存型 2GB
简介: 为了服务 PHP 开发者,2019 年 7 月,阿里云提供了 Composer 镜像服务。本文将为大家介绍如何通过 3 步快速搭建自己的 Composer 镜像。

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

第 1 步

  1. 首先,你需要在阿里云上开通一个 OSS Bucket,用于存储镜像文件。建议选择和服务器最近的Endpoint。点击此处进入OSS控制台:https://oss.console.aliyun.com/overview
  2. 其次,你需要一个存储空间不低于 4G 的 Redis,用于存储任务和队列。
  3. 最后,确保安装了 Golang 环境,版本大于 1.11。

第 2 步

定制你的配置文件。下载阿里云 Composer 镜像代码,https://github.com/aliyun/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控制台:https://ram.console.aliyun.com/users

GITHUB_TOKEN

大部分依赖包的zip文件被托管在 Github 上,系统需要从 Github 上读取到数据再上传到 OSS 上,如果没有 token 请求 Github 会被限制。点击此处生成新 token 地址:https://github.com/settings/tokens/new

DATA_URL

从哪里读取 Meta 数据,亚太地区建议使用阿里云源:https://mirrors.aliyun.com/composer/。亚太地区以外使用:https://repo.packagist.org/

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 缓存功能,可以减少流量,控制成本。

钉钉群

钉钉群号:23178217

php.jpg

阿里巴巴开源镜像站 提供全面,高效和稳定的系统镜像、应用软件下载、域名解析和时间同步服务。”

相关文章
|
缓存 安全 PHP
【阿里云镜像】配置阿里云 Composer 全量镜像
【阿里云镜像】配置阿里云 Composer 全量镜像
2907 0
【阿里云镜像】配置阿里云 Composer 全量镜像
|
安全 Linux Shell
全面对比linux和windows,选择哪个系统比较好
全面对比linux和windows,选择哪个系统比较好
2062 0
|
JavaScript
Rspack 创建 vue2/3 项目接入 antdv(rspack.config.js 配置 less 主题)
Rspack 创建 vue2/3 项目接入 antdv(rspack.config.js 配置 less 主题)
449 0
|
NoSQL 关系型数据库 MySQL
不是 PHP 不行了,而是 MySQL 数据库扛不住啊
【9月更文挑战第8天】这段内容讨论了MySQL在某些场景下面临的挑战及其原因,并指出这些问题不能完全归咎于MySQL本身。高并发读写压力、数据量增长以及复杂查询和事务处理都可能导致性能瓶颈。然而,应用程序设计不合理、系统架构不佳以及其他数据库选择和优化策略不足也是重要因素。综合考虑这些方面才能有效解决性能问题,而MySQL通过不断改进和优化,仍然是许多应用场景中的可靠选择。
249 9
|
JavaScript 安全
利用宝塔面板搭建nodejs网站(不使用pm2)
面板-安全-添加端口规则,这里步骤3中的端口。
967 3
|
小程序 开发工具
app跳转微信小程序,使用明文scheme拉起
app跳转微信小程序,使用明文scheme拉起
2566 4
|
消息中间件 Java Kafka
Golang 语言中 kafka 客户端库 sarama
Golang 语言中 kafka 客户端库 sarama
583 0
|
数据管理 PHP 数据库
Go 项目自动重载解决方案 —— Air 使用入门
**Air**: 提升Go开发效率的利器!自动重载工具,监听文件变化,实时编译运行,无需频繁重启。安装:启用Go Module后,运行`GO111MODULE=on go install github.com/cosmtrek/air@latest`。启动项目:`air`,配置文件默认为`air.toml`。集成到项目,忽略`tmp/`目录。让代码更改即时生效,专注编码,告别手动重启。适用于开发环境,生产环境禁用。[更多详情](https://github.com/cosmtrek/air)
254 1
|
数据采集 JavaScript 前端开发
Haskell 实现京东优惠券爬取的详细步骤解析
Haskell 实现京东优惠券爬取的详细步骤解析