最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用nginx搭建creates.io鏡像的教程詳解

 更新時間:2023年12月26日 08:32:13   作者:Skyer119  
在Rust開發(fā)中,經(jīng)常需要使用Cargo從crates.io下載依賴,而國內(nèi)幾乎沒有好用的crates.io鏡像,使用本文就來使用使用nginx搭建creates.io鏡像吧

在Rust開發(fā)中,經(jīng)常需要使用Cargo從crates.io下載依賴,而國內(nèi)幾乎沒有好用的crates.io鏡像,大多都只對crates.io-index和crates.io進行了鏡像,而最重要的static.crates.io卻沒有鏡像。迫不得已只能自己搭建。眾所周知,Cargo下載依賴,實際分為三步:

  • 獲取索引(Fetch index)
  • 查詢下載路徑(Redirect location)
  • 下載資源(*.crate文件)

因此,搭建crates.io鏡像也需要分為三個模塊:

  • crates.io-index
  • crates.io
  • static.crates.io

零、啟用nginx的緩存功能

注:此處均為與搭建creates.io鏡像相關(guān)的配置項

http {
  # 開啟全局緩存,并配置存儲路徑(/var/lib/crates.io)和大小(32g)
  proxy_cache_path /var/lib/crates.io keys_zone=STATIC:100m levels=1:2 inactive=120h max_size=32g;
}

一、緩存creates.io

server {
  listen 7011;
  location / {
    proxy_pass https://crates.io;
    proxy_ssl_server_name on;
    proxy_buffering on;
    proxy_cache STATIC;
    proxy_cache_valid 301 302 307 308 72h;
    proxy_cache_valid any 10s;
    proxy_cache_revalidate on;
    proxy_cache_use_stale error timeout invalid_header updating http_500 http_502 http_503 http_504;
    proxy_redirect https://static.crates.io/ http://$host:7012/;
  }
}

此處,我們將http://localhost:7011反向代理到https://crates.io,并對結(jié)果進行緩存。其中狀態(tài)碼為301,302,307,308的緩存72小時,其余狀態(tài)碼緩存10秒。

二、緩存static.crates.io

server {
  listen 7012;
  location / {
    proxy_pass https://static.crates.io;
    proxy_ssl_server_name on;
    proxy_buffering on;
    proxy_cache STATIC;
    proxy_cache_valid 200 72h;
    proxy_cache_valid 400 502 504 10s;
    proxy_cache_valid any 1m;
    proxy_cache_revalidate on;
    proxy_cache_use_stale error timeout invalid_header updating http_500 http_502 http_503 http_504;
  }
}

此處,我們將http://localhost:7012反向代理到https://static.crates.io,并對結(jié)果進行緩存。

需要注意到在 緩存creates.io 部分,proxy_redirect參數(shù),就是將原本重定向目標從https://static.crates.io/修改為http://$host:7012/

三、緩存creates.io-index

在前幾步中,我們已經(jīng)將一個creates.io鏡像的內(nèi)容部分搭建完畢,最后就是索引,眾所周知,crates.io是使用git倉庫 https://github.com/rust-lang/crates.io-index.git 作為官方索引的,因此我們只需要將這個倉庫clone到本地

cd /home/ # 此處將索引clone到/home目錄下
git clone https://github.com/rust-lang/crates.io-index.git

然后修改/home/crates.io-index/config.json,將https://crates.io修改為我們剛剛的代理地址http://localhost:7011,除了lo地址也可以用本機的其他ip地址。

sed -i 's+https://crates.io+http://localhost:7011+g' /home/crates.io-index/config.json

最后依然是nginx配置:

server {
  listen 7010;
  location /crates.io-index/ {
    root /home;
  }
}

以上,一個鏡像源就配置完成啦~~~

四、在開發(fā)環(huán)境配置鏡像源

修改HOME目錄下的.cargo/config.toml文件(也可以是不帶后綴名的config文件)如果沒有就新建一個。

Linux/Unix系統(tǒng)為 $HOME/.carog/config.toml

Windows系統(tǒng)為 $USERPROFILE/.carog/config.toml

內(nèi)容為:

[source.crates-io]
replace-with = 'local'
[source.local]
registry = "sparse+http://localhost:7010/crates.io-index/"

五、寫在最后

目前能夠找到的搭建creates.io鏡像源的文章,全部都是使用基于git over https的傳統(tǒng)方式,本篇文章則是采用最新的sparse稀疏索引方式,大幅加快獲取包的速度,搭建過程更加便捷。

另外,對于索引的更新,可以通過shell腳本+crontab定時任務來完成自動更新:

#!/usr/bin/sh
cd /home/crates.io-index/
git pull

保存為/home/crates.io-index/update-index.sh,并添加執(zhí)行權(quán)限:

chmod 755 /home/crates.io-index/update-index.sh

添加定時任務:

# crontab -e
0 * * * * /home/crates.io-index/update-index.sh > /home/crates.io-index/update-index.log 2>&1 &

到此這篇關(guān)于使用nginx搭建creates.io鏡像的教程詳解的文章就介紹到這了,更多相關(guān)nginx搭建creates.io鏡像內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Linux下Nginx負載均衡多個tomcat配置的方法步驟

    Linux下Nginx負載均衡多個tomcat配置的方法步驟

    這篇文章主要介紹了Linux下Nginx負載均衡多個tomcat配置的方法步驟,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-04-04
  • nginx內(nèi)部訪問特性如何實現(xiàn)靜態(tài)資源授權(quán)訪問

    nginx內(nèi)部訪問特性如何實現(xiàn)靜態(tài)資源授權(quán)訪問

    這篇文章主要介紹了nginx內(nèi)部訪問特性如何實現(xiàn)靜態(tài)資源授權(quán)訪問方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • nginx?openresty?快速入門指南

    nginx?openresty?快速入門指南

    OpenResty是基于Nginx與Lua?的高性能Web平臺,其**內(nèi)部集成了大量精良的?Lua?庫、第三方模塊以及大多數(shù)的依賴項,**用于方便地搭建能夠處理超高并發(fā)、擴展性極高的動態(tài)?Web?應用、Web?服務和動態(tài)網(wǎng)關(guān),這篇文章主要介紹了nginx?openresty?快速入門指南,需要的朋友可以參考下
    2024-02-02
  • Nginx如何集成到Windows服務

    Nginx如何集成到Windows服務

    文章介紹了如何在Windows 11上將Nginx配置為系統(tǒng)服務,并提供了一個詳細的步驟指南,包括下載和配置Winsw工具,以及安裝和刪除Nginx服務的方法
    2024-12-12
  • Nginx通過用戶IP獲取所在國家及地理位置的實現(xiàn)方法

    Nginx通過用戶IP獲取所在國家及地理位置的實現(xiàn)方法

    Nginx是一款高性能、輕量級的Web服務器和反向代理服務器,今天講解Nginx十分常用的功能之一,通過IP獲取用戶所在的國家,一般廣泛應用在各類需要定位的網(wǎng)站上面,來定位用戶首次訪問的國家,通過IP解析庫GeoLite2-Country來實現(xiàn)功能,需要的朋友可以參考下
    2023-10-10
  • 采用ngxtop實現(xiàn)nginx實時訪問數(shù)據(jù)統(tǒng)計

    采用ngxtop實現(xiàn)nginx實時訪問數(shù)據(jù)統(tǒng)計

    這篇文章主要介紹了采用ngxtop實現(xiàn)nginx實時訪問數(shù)據(jù)統(tǒng)計,需要的朋友可以參考下
    2014-07-07
  • nginx配置訪問圖片路徑以及html靜態(tài)頁面的調(diào)取方法

    nginx配置訪問圖片路徑以及html靜態(tài)頁面的調(diào)取方法

    這篇文章主要介紹了詳解nginx配置訪問圖片路徑以及html靜態(tài)頁面的調(diào)取方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。
    2016-12-12
  • Nginx訪問靜態(tài)資源配置的實現(xiàn)步驟

    Nginx訪問靜態(tài)資源配置的實現(xiàn)步驟

    Nginx 擅長于底層服務器端資源的處理,例如靜態(tài)資源處理轉(zhuǎn)發(fā)、反向代理,負載均衡等,本文主要介紹了Nginx訪問靜態(tài)資源配置的實現(xiàn)步驟,具有一定的參考價值,感興趣的可以了解一下
    2023-09-09
  • 利用nginx同一端口部署多個前端的辦法(親測有效版)

    利用nginx同一端口部署多個前端的辦法(親測有效版)

    在Nginx中配置同一個端口支持多個前端應用,通??梢酝ㄟ^不同的路徑(location)來映射不同的前端項目,這篇文章主要介紹了利用nginx同一端口部署多個前端的相關(guān)資料,需要的朋友可以參考下
    2026-01-01
  • nginx中的路徑匹配location規(guī)則詳解

    nginx中的路徑匹配location規(guī)則詳解

    Nginx的匹配規(guī)則用location指令來實現(xiàn),Nginx 的location指令用于匹配請求的 URI(請求路徑),并根據(jù)匹配結(jié)果執(zhí)行特定的處理指令,這篇文章主要介紹了nginx中的路徑匹配規(guī)則詳解(location規(guī)則),需要的朋友可以參考下
    2025-04-04

最新評論

确山县| 衡东县| 商丘市| 古田县| 赞皇县| 芦溪县| 抚顺县| 自治县| 吴忠市| 体育| 喀什市| 琼海市| 杭州市| 南昌市| 南江县| 涪陵区| 大渡口区| 正宁县| 通河县| 如东县| 太谷县| 杭锦后旗| 合水县| 翼城县| 淳安县| 东宁县| 衢州市| 永福县| 涿州市| 安福县| 扶沟县| 涪陵区| 唐山市| 德州市| 岚皋县| 南丹县| 施甸县| 安阳县| 财经| 香格里拉县| 怀远县|