[实战] 将博客图片迁移七牛云平台

相信你看到这篇文章感兴趣应该是名站长吧,或许和我同样是名开源人士并乐于分享经验的博主。 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
相关文章
相关标签/搜索