天天看點

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

阿裡雲 Composer 鏡像開源啦!3 步快速搭建自己的 Composer 的鏡像!
阿裡巴巴開源鏡像站 提供全面,高效和穩定的系統鏡像、應用軟體下載下傳、域名解析和時間同步服務。”