• 囊个搭建自己的图床


    前言

    相信喜欢写博客的童鞋都或多或少使用markdown来写的博客,使用markdown很香,真的很香,但是写完了上传到网页上就犯难了,图片是以链接/路径插入进markdown文本里的,意味着图片还要一张一张的上传到网页。

    这不能忍,所以需要用到图床,图床说白了就是上传图片,并且生成所有人都能访问的外部链接,这样我们用markdown写的博客就完整了。

    现存的图床有免费的也有收费的,免费的缺点就是不稳定,或者完全挂掉,如果还没有备份的话,那可真上头,比如我使用的sm.ms这个。收费的呢,稳定,可控,但是对荷包不友好巴拉巴拉~

    本文的重点就是自建图床,完全免费的有,收费的也有,typora的使用不在这里叙述。

    接下来进入正题~

    一,使用Github搭建免费图床

    好处:免费,免费,免费

    坏处:不稳定,可能让你的博客有时候会加载不出图片

    1. 新建图床仓库

    image-20221124161933666

    2. 创建token 密匙

    点击:头像 -> ①settings -> ②Developer settings -> ③Personal access tokens -> ④Tokens (classic) -> ⑤Generate new token -> ⑥Generate new token (classic)

    image-20221124162736491

    得到如下画面,继续~

    image-20221124163124100

    然后直接到底部点击image-20221124163229622就行了

    得到如下红框里的东西,一定要复制保存下,此界面离开后就看不到了!!!

    image-20221124164640939

    3. 配置picgo的github插件

    关于picgo是什么以及如何与Typora交互这里暂不做介绍

    image-20221124163429396

    配置解释:

    设定仓库名:(你的账号ID)/(你的仓库名)

    设定分支名:如果你创建的时候没有特别配置分支的话,一般都是 main

    设定 token:就是上一个步骤生成的tokens

    设定存储路径:必须以/结尾,会存储到你的仓库目录下的这个目录内

    设定自定义域名:建议使用免费的cdn开头https://cdn.jsdelivr.net/gh/后面再接仓库名里的内容

    点击确定,再点击设为默认图床,大功告成!

    然后就可以比较愉快的使用免费图床了~

    二,使用各大厂云OCS对象存储搭建图床

    好处:很稳定,有些大厂还有免费的CDN,又快又好

    坏处:收费的,具体看你使用哪些套餐。个人使用也不是贵到离谱那种。

    这里是以腾讯云为例,其他的云基本相似。

    随便百度一下云对象存储,就会出来一堆广告,看来没有对手的度娘也在疯狂摆烂了。

    这里挑选其中一条,腾讯云的1块钱50G的对象存储(点我)

    image-20221125093819148

    声明:没有打广告,如果给腾讯云引了流,麻烦结一下广告费,蟹蟹~

    好的,进入正题~

    1. 创建存储桶

    image-20221125094409225

    然后配置基本信息

    image-20221125094827230

    然后一直下一步,再点创建。成功创建存储桶。

    image-20221125095951508

    记录下存储桶的名称,和所属地域的代号,如上图的红框部分,也就是 ap-guangzhou,后面会用到

    2. 创建 API 秘钥

    进入 【访问管理】 - 【访问秘钥】 - 【API 秘钥管理】(点此访问),会提示是否使用子账号管理,可根据实际需要进行选择,这里我们直接使用主账号进行创建

    img

    创建成功,将 APPIDSecretIdSecretKey 保存下来,非常重要,谨防外泄。

    img

    3. 配置PicGo插件

    新版的PicGo插件列有自带腾讯云Cos插件,这里我们就不用下载了。

    配置列表:

    image-20221125100712053

    这里选择V5,然后将之前步骤的相关参数填入进去,点击确定并且点击设为默认图床。

    注意:存储路径必须以/结尾,否则就会变成上传图片的前缀。

    测试一波先

    image-20221125101353662

    点击上传,发现已经成功上传啦

    image-20221125101604796

    到这就完成了~

    三,使用云服务器搭建图床

    好处:很稳定,很可控,自由度高,适合折腾

    坏处:也是收费的,但是对于新人挺便宜的。再就是门槛稍微高一些,需要花时间精力

    前提:

    • 有一个云服务器并且安装了宝塔面板
    • 在安装宝塔面板的时候一键安装了LNMP
    • 有一个有证书的域名并且正确解析到这个服务器的IP

    网上很多大神都有制作轮子,我们拿来使用就行,下面介绍几个使用量最多的

    1. 使用chevereto 自建图床

    img

    简介:

    • Chevereto 是一款自建图床程序

    • Chevereto 支持多用户系统、相册集、统一仪表板、HTML 可拖曳式上传、桌面版上传插件、多种外部存储(Amazon S3、Google Cloud、阿里云 OSS 等)、自定义主题、多语言、CDN 和自定义 API 等功能。

    • 程序本身收费,但有免费版,功能受限,个人使用也是足够的

    • 免费版 Chevereto 链接:https://github.com/rodber/chevereto-free

    • 更新频繁,当前最新版本 1.6.2

    • 官方网站:https://chevereto.com/

    环境:

    Chevereto 依赖环境 PHP,MySQL,Nginx
    - 建议 PHP 版本7 以上
    - MySQL 5.7 以上
    - Nginx 1.2

    新建网站

    点击 网站 -> 添加站点

    image-20221124172402242

    点击提交

    配置网站

    点击刚才新建的站点

    image-20221124172609386

    配置SSL

    将你此域名对应的证书的.key文件和.pem文件内容分别拷贝到下图左右,并点击保存。

    ps: 域名证书是需要下载的,下载下来是一个压缩包,解压出来即可看到对应的格式的文件。

    image-20221124172847249

    刷新一下即可看到证书已部署

    image-20221124173651529

    配置源码

    • 建站调试成功后,删除目录下的 index.html404.html

    • 然后下载源码,推荐下载1.3.0的版本,版本太高会打开一片空白,原因没有深究,下载链接:https://github.com/rodber/chevereto-free/archive/refs/tags/1.3.0.zip

    • 将此链接使用文件中的远程下载,然后解压出来,将解压后的目录chevereto-free-1.3.0中的所有内容拷贝到你的网站目录下

    • 并且右键你的网站目录,给此目录并且包含子目录及文件的777权限

      给网站配置伪静态:

    location / {
        if (-f $request_filename/index.html){ rewrite (.*) $1/index.html break; } if (-f $request_filename/index.php){ rewrite (.*) $1/index.php; } if (!-f $request_filename){ rewrite (.*) /index.php; } try_files $uri $uri/ /api.php; } location /admin { try_files $uri /admin/index.php?$args;
        }

    image-20221124175320621

    然后点击保存

    然后到这里网站就配置完成了~

    配置chevereto

    浏览器打开你新建的网站,它会自动进入安装界面

    如下是配置数据库信息

    image-20221124175859592

    将新建网站时的数据库信息填入那三个框就行,其他默认就好

    image-20221124180200190

    然后点击继续,进入到管理员配置

    image-20221124180514677

    点击安装,恭喜,已经可以用了~

    ps: 如果英语不好的话,可以点击头像 -> settings -> Language -> 在下拉窗选择简体中文就好

    配置PicGo的上传插件

    点开PicGo的插件设置,搜索并且安装Chevereto Uploader

    配置Chevereto Uploader

    image-20221124182135752

    这里只需要填两项:

    Url:https://你的域名/api/1/upload

    Key:按照如下配置拿到

    image-20221124182605517

    然后点击确定并且点击设为默认图床

    开始享用吧!~

    2. 使用EasyImage自建

    image-20221124183723128

    简介:

    GitHub开源地址:https://github.com/icret/EasyImages2.0

    文档地址:https://www.kancloud.cn/easyimage/easyimage/2625222

    Demo地址:https://png.cm/

    作者博客:https://blog.png.cm/

    环境:

    EasyImage 依赖环境 PHP,MySQL,Nginx 
    - 建议 PHP 版本7 以上
    - MySQL 5.7 以上
    - Nginx 1.2
    - PHP插件 Fileinfo

    这里单独提一下安装fileinfo插件

    image-20221124184701800

    新建网站

    点击 网站 -> 添加站点

    image-20221124172402242

    点击提交

    配置网站

    点击刚才新建的站点

    image-20221124172609386

    配置SSL

    将你此域名对应的证书的.key文件和.pem文件内容分别拷贝到下图左右,并点击保存。

    ps: 域名证书是需要下载的,下载下来是一个压缩包,解压出来即可看到对应的格式的文件。

    image-20221124172847249

    刷新一下即可看到证书已部署

    image-20221124173651529

    配置源码

    • 建站调试成功后,删除目录下的 index.html404.html

    • 然后下载源码,推荐下载最新的2.6.7的版本, 链接:https://github.com/icret/EasyImages2.0/archive/refs/tags/2.6.7.zip

    • 将此链接使用文件中的远程下载,然后解压出来,将解压后的目录EasyImages2.0-2.6.7中的所有内容拷贝到你的网站目录下

    • 并且右键你的网站目录,给此目录并且包含子目录及文件的777权限

    • 关闭放跨站

      image-20221124185511320

    然后浏览器打开你新建的域名, 进入管理员用户配置

    根据提示一步步来就好, 这个配置很简单

    配置PICGO的上传插件

    点开PicGo的插件设置,搜索并且安装Web Uploader

    配置Web Uploader

    image-20221124190509472

    需要配置4个参数:

    API地址:你的网站地址+/api/index.php,例:https://pic.xxxx.com/api/index.php

    POST参数名:image

    JSON路径:url

    自定义Body:{"token":"8337edadadadd9c5899f3509b23657"},关于token怎么获得,如下图

    image-20221124190926255

    配置完成后,就可以愉快的上传了

    3. 使用SFTP自建图床

    • 服务器配置比较简单,这里就不做详细介绍了,原理就是基于FTP/SFTP来实现的.
    • 然后就是PICGO部分也是安装一个SFTP插件,配置好服务器的域名地址和相关账号信息
    • 就可以愉快的使用了

    4. 还有一些其他的

    例如蓝空图床啥的,和1/2搭建的方式基本一致,这里不做赘述.

    建议关闭网站的NGINX防火墙,除非你会配置规则,否则会出很多意想不到的问题

    Q&A

    Q: 为什么按照本文配置完后,输入我新建的网站域名打不开?

    A: 检测一下域名是否有解析到这个服务器

    Q:为什么网站刚开始能打开,但是我上传了一张图片后就打不开了

    A:检查一下该网站是否开启了防火墙,并且你的IP被短暂的封禁掉了

    Q:为什么网站能打开,能网页上传,但是使用PICGO就就上传不了

    A:检查一下SSL证书是否有正确配置,并且查看PICGO的日志,就能很准确的知道是什么原因造成的

    end

    感谢阅读~

    希望能帮到你~

    see you~

    码字不易,转载请注明原作者 ~ (from:https://erdong.work


    __EOF__

  • 本文作者: 耳东Sir
  • 本文链接: https://www.cnblogs.com/erdongsir/p/16924666.html
  • 关于博主: I am a good person
  • 版权声明: 欢迎转载,但转载请注明来源~
  • 声援博主: up这个重庆崽儿还得行~
  • 相关阅读:
    NV040D语音芯片丨助力空气净化器语音功能
    部署LVS-DR 集群及实验
    POJ1017 Packets(贪心算法训练)
    【Azure App Service】.NET代码实验App Service应用中获取TLS/SSL 证书 (App Service Windows)
    (1)mybatisplus简介
    微信小程序中使用wx.showToast()进行界面交互
    JVM:(二)类加载子系统
    最简单的laravel不使用任何扩展导出csv
    你不可不知的八大全新顶级开源项目
    2000年-2020年31省市城乡收入差距泰尔指数
  • 原文地址:https://www.cnblogs.com/erdongsir/p/16924666.html