雲計算

阿里雲 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

阿里巴巴開源鏡像站 提供全面,高效和穩定的系統鏡像、應用軟件下載、域名解析和時間同步服務。”

Leave a Reply

Your email address will not be published. Required fields are marked *