[實戰] 將博客圖片遷移七牛雲平臺

相信你看到這篇文章感興趣應該是名站長吧,或許和我同樣是名開源人士並樂於分享經驗的博主。 nginx

1、前言:

  個人文章所有是寫於 Typora 並分享在(中間固然有過各類折騰)博客園的。以前一直有個想法就是:來進行一次系統瘦身 + 轉移重要圖片數據備份 至雲服務商。git

2、廋身:

  ​先來講說爲何我須要進行系統瘦身,以及這件事以前發生了什麼。做爲一名博主,文章常常被莫名其妙的轉載並且不少時候被轉載的網站主體就是一個 」黃賭毒」,只是經過各類技術手段獲得了咱們這些可憐的博主辛辛苦苦寫的文章(關於它們爲何」這麼作「以及」排名比源站高「 可諮詢相關人士) 。因此我想到的解決這個問題的方法就是:給本身的圖片所有加上版權聲明而且總體網站多處添增強調源站地址。github

  那麼給本身圖片所有加上版權聲明具體怎麼作。由於我自己是有開發經歷的,因此準備開發一款截圖工具。大體功能就是捕獲當前屏幕顯示並後臺發送至服務器。正當我一切都準備好準備開始乾的時候,我發現了一款現成的工具 ShareX ,它支持各類文件的上傳+ 版權設置。shell


」版權問題「 解決了vim


這樣當別人強行克隆個人網站時,訪客就不會再被欺騙了。瀏覽器

3、分析:

  可真的所有被解決了嗎?你們都知道蝴蝶效應,小小蝴蝶煽動翅膀帶來公路颶風。但是個人問題可不是簡單的」蝴蝶「,這麼多圖片文件的上傳給服務器帶來的問題包括:流量上下載、系統空間不夠用、冗餘,錯誤文件過多。先不說流量空間問題,若是出現意外突發狀況,出現文件消失了也會受不了吧。bash


圖片就這樣被大量堆積。服務器

因此,咱們最好能夠給服務器作次廋身
更多查看來自嗶哩嗶哩個人投稿:https://www.bilibili.com/video/av10650767ide


4、轉移:

I. 服務器環境:

能夠看到,這裏有倆個域名。分別是 irabe.me.itxdm.me. 。正如我上面畫的同樣,itxdm.me 是我備案過的,然而 irabe.me 卻沒有,而且整個博客園全部圖片所有調用 irabe.me 這個域名。工具

II. 反向代理:

七牛並不容許未備案的進行訪問 ,這個問題要怎麼解決?

一、綁定域名:

二、請求轉發:
➜  ~ Time Now 23:27:28 > vim /etc/nginx/conf.d/default_irabe.conf
server {
    listen       80;
#
#    # Load configuration files for the default server block.
#    include /etc/nginx/default.d/*.conf;
#
    location / {
        proxy_pass http://itxdm.me/;
    }
}

注意:」/「 表示根域名;proxy_pass 標識須要轉發請求;域名不要填錯是已經完成 步驟1 的域名

三、上傳文件:

若是你的文件不少,不要使用瀏覽器上傳。(經測試谷歌瀏覽器會無響應)

推薦使用跨平臺的 qfetch 進行文件上傳。

文檔閱讀地址:https://developer.qiniu.com/kodo/tools/qfetch

工具下載地址:http://devtools.qiniu.com/qfetch-v1.7.zip

5、效果圖(歡迎體驗):

你們狀況應該沒我複雜。我後面還有些自動化的相關操做。

➜  /tmp cat /etc/cron.hourly/qfetch.sh 
#!/bin/bash
#@author:jiwenkangatech@foxmail.com
#@function:backup png to qfetch
set -b

FD=/etc/nginx/conf.d/default_irabe.conf
FD_BAK=/etc/nginx/conf.d/default_irabe.conf.bak
SC=/etc/nginx/conf.d/default2_irabe.conf
SC_BAK=/etc/nginx/conf.d/default2_irabe.conf.bak

cd /etc/nginx/conf.d/
if [ $PWD=='/etc/nginx/conf.d' ];then
    mv $FD $FD_BAK
    mv $SC_BAK $SC
    /etc/init.d/nginx restart || exit 1
fi

cd /tmp
if [ $PWD=='/tmp' ];then
    cat /dev/null > /tmp/diff.txt
    find /home/wwwroot -type f -name "*.png" | \
        awk -F '/' '{ print "http://itxdm.me/"$4 }' >> /tmp/diff.txt
    printf '\nBackupBegin...\n'
    /usr/local/qfetch/qfetch -ak="wJ??????????????????????i9APRxeV" -sk="1eUUCxrF???????????iDKBmS" -bucket="it?????g" -file="diff.txt" -worker=800 -job="diff" 1>/dev/null 2>&1 &
    sleep 10m
    printf 'BackupEnd.\n\n'
fi

if [ -f $SC ] && [ -f $FD_BAK ];then
    mv $FD_BAK $FD
    mv $SC $SC_BAK
    /etc/init.d/nginx restart || exit 1
fi


exit 0
相關文章
相關標籤/搜索