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

本文涉及的产品
对象存储 OSS,OSS 加速器 50 GB 1个月
简介: 为了服务 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

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

相关文章
|
小程序 前端开发 Java
【实训项目】智联校友会小程序
【实训项目】智联校友会小程序
324 0
|
PHP 开发工具
ThinkPHP6.0 发送阿里云短信
一、登录阿里云,注册短信服务 1.阿里云短信服务:dysms.console.aliyun.com/overview
2926 0
|
3月前
|
弹性计算 运维 安全
公司注册阿里云账号全流程指南:所需材料、步骤拆解与常见问题解答
对于企业用户来说,注册阿里云账号并完成企业实名认证,是使用云服务器、数据库、短信服务等企业级云产品的前提。整个过程主要分为 “账号注册” 和 “企业实名认证” 两步,操作并不复杂,但需要提前准备好对应材料,避免因信息不全反复修改。本文结合最新的操作界面和规则,用通俗的语言拆解每一步流程,明确所需材料清单,同时解答注册过程中常见的问题,帮企业快速完成账号开通与认证。
|
8月前
|
边缘计算 5G 图形学
webgl和实时云渲染的原理是什么,分别适用于什么场景?有什么区别
本文对比分析云渲染(点量云流)与WebGL技术在大型3D内容呈现中的差异,涵盖技术原理、性能画质、适用场景及选型建议,助力开发者选择最优方案。
290 0
|
消息中间件 Java Kafka
Golang 语言中 kafka 客户端库 sarama
Golang 语言中 kafka 客户端库 sarama
778 0
|
关系型数据库 MySQL Linux
宝塔面板BT Composer安装及使用教程
本文介绍,相信你已经掌握了在宝塔面板上安装和使用 Composer 的方法。希望这些内容能对你有所帮助,祝你在开发过程中一切顺利!
3108 2
|
机器学习/深度学习 弹性计算 人工智能
阿里云第八代云服务器ECSg8i实例深度解析:性能及适用场景参考
目前企业对云服务器的性能、安全性和AI能力的要求日益提高。阿里云推出的第八代云服务器ECS g8i实例,以其卓越的性能、增强的AI能力和全面的安全防护,除了适用于通用互联网应用和在线音视频应用等场景之外,也广泛应用于AI相关应用。本文将深入解析ECS g8i实例的技术特性、产品优势、适用场景及与同类产品的对比,以供参考。
阿里云第八代云服务器ECSg8i实例深度解析:性能及适用场景参考
|
JavaScript 前端开发 PHP
推荐13款javascript模板引擎
javaScript 在生成各种页面内容时如果能结合一些模板技术,可以让逻辑和数据之间更加清晰,本文介绍 X 款 JavaScript 的模板引擎。(排名不分先后顺序) 1. Mustache 基于javascript 实现的模板引擎,类似于 Microsoft’s jQuery template plugin,但更简单易用! 2.
3309 0
|
JavaScript 前端开发 搜索推荐
Vue的路由实现:hash模式 和 history模式原理
Vue的路由实现:hash模式 和 history模式原理
466 0
|
存储 JSON JavaScript
Python中读写(解析)JSON文件的深入探究
Python中读写(解析)JSON文件的深入探究
665 0

热门文章

最新文章