1. 安裝nginx工具
sudo apt install nginx apache2-utils
2. 創(chuàng)建緩存目錄
# 創(chuàng)建緩存目錄(選擇一個(gè)有足夠空間的位置)
sudo mkdir -p /mnt/data/ccache-nginx
# 設(shè)置合適的權(quán)限(讓NGINX可以讀寫)
sudo chown -R www-data:www-data /mnt/data/ccache-nginx # Ubuntu/Debian
# 確認(rèn)權(quán)限
ls -la /mnt/data/ccache-nginx
3. 配置NGINX
sudo vim /etc/nginx/sites-available/ccache-server添加如下:
server {
listen 8080;
server_name localhost;
location /ccache/ {
alias /var/ccache/ccache-nginx/;
log_not_found off;
dav_methods PUT DELETE;
create_full_put_path on;
client_max_body_size 100M;
dav_access user:rw group:rw all:r;
limit_except GET HEAD {
auth_basic "CCache Remote Storage";
auth_basic_user_file /etc/nginx/ccache_htpasswd;
}
autoindex off;
}
location /health {
return 200 "OK\n";
add_header Content-Type text/plain;
}
location / {
return 403;
}
}
4. 設(shè)置身份驗(yàn)證(可選但推薦)
sudo htpasswd -c /etc/nginx/ccache_htpasswd ccache_user
# 會(huì)提示輸入密碼,如:my_secure_password_123
5. 啟用配置
sudo ln -s /etc/nginx/sites-available/ccache-server /etc/nginx/sites-enabled/
sudo nginx -t # 測(cè)試語(yǔ)法是否ok
sudo systemctl reload nginx # 重啟服務(wù)
6. 測(cè)試服務(wù)器
# 測(cè)試服務(wù)器是否響應(yīng)
curl -X GET http://localhost:8080/health
# 應(yīng)該返回:OK
# 測(cè)試PUT文件
curl -X PUT -d "test data" http://localhost:8080/ccache/test.txt
# 應(yīng)該返回:201 Created(或204 No Content)
# 測(cè)試GET文件
curl http://localhost:8080/ccache/test.txt
# 應(yīng)該返回:test data
# 測(cè)試DELETE文件
curl -X DELETE http://localhost:8080/ccache/test.txt
-------------------------------認(rèn)證測(cè)試--------------------------------
# 帶認(rèn)證的PUT
curl -X PUT -u ccache_user:密碼 -d "test" http://localhost:8080/ccache/auth_test.txt
7. 配置CCACHE客戶端
# 無(wú)認(rèn)證版本
export CCACHE_REMOTE_STORAGE="http://SERVER_IP:8080/ccache/"
# 或帶認(rèn)證版本
export CCACHE_REMOTE_STORAGE="http://ccache_user:密碼@SERVER_IP:8080/ccache/"