zoukankan      html  css  js  c++  java
  • 教你如何搭建自己的图床

    教你如何搭建自己的图床

    首先说明,在自己的网站上搭建图床,一个是考虑到大多数人只有一台服务器;其次是,使用者只是偶尔需要用图,付费图床不合算。所以搭建一个自己的微型图床显然是最佳选择。下面将用到 docker ,然后结合开源项目 Lychee。没用过不要怕,因为之前我也只用来 “Hello World” 过。

    以下操作基于:CentOS Linux release 7.5.1804 (Core) 。

    第一步,安装 docker :yum install docker
    在这里插入图片描述

    第二步,启动 docker:systemctl start docker。也可以设置开机自启:systemctl enable docker
    在这里插入图片描述

    第三步,把别人已经做好的镜像拉下来(尽量不造轮子)。在 docker 中拉镜像跟 Git 拉仓库差不多,命令是:docker imgae pull。这里需要拉的是 kdelfour/lychee-docker,所以完整命令:docker image pull kdelfour/lychee-docker
    在这里插入图片描述

    镜像拉下来后,你可以用 ls 看一下是不是有这个镜像了(docker image ls)。
    在这里插入图片描述

    第四步,启动这个镜像。需要说明的是端口映射的问题。由于我的服务器已经搭了个人网站,也用的浏览器默认的 80 端口,所以图床就不能用 80,我改用 5120,完整命令:docker run -it -d -p 5120:80 kdelfour/lychee-docker(访问 5120 端口,映射到 docker 容器里边的 80 端口)。
    在这里插入图片描述

    命令 docker container ls 是查看正在运行的容器。可以看到第一次用这个命令的时候,没有容器在跑;启动之后就有了。

    第五步,访问http://你的域名:5120。由于我是在本地的虚拟机里搭建,所以访问的是 http://ip:5120
    在这里插入图片描述

    进入到初始化阶段。可以看到 Database Host 、Data Name 和 Table predix 是选填,那我们就不管它。而 Username 和 Password 默认都是 lychee 。输入后点击 connect,你会看到它要你新建一个用户名和密码,这是你之后登录图床要用到的。
    在这里插入图片描述

    第六步,创建 ablum,上传图片。
    在这里插入图片描述

    右上角 + --> Upload Photo,然后就可以愉快的上传图片了。lychee 还提供了其他导入图片方式,点击符号 + 可自行按需选择。更多用法请自己探索。

    所以我们上传的图片到底去哪儿了呢。这时候我们需要先进入这个容器。命令 docker container ls 会显示容器的 CONTAINER ID,拿到这个 ID 后,键入 docker container exec -it 9a8e6f34294a /bin/bash,就进入容器了。
    在这里插入图片描述

    现在可以 ls 一下,是不是感觉进入了一个 linux 终端,其实这就是 docker 想做的。然后关注 uploads 目录,可以看到图片就在 big 目录下。
    在这里插入图片描述

    肯定会有人说卧槽,那我怎么把图片取出来呢?事实上,lychee 提供了网页的下载方式,想在服务器上操作也 OK 呀。把图片名复制下来(这个经过 hash 处理,基本是独一无二了),在你的服务器上用 find 命令搜索,不就找到它的绝对路径了嘛!
    在这里插入图片描述

    你也可以指定保存路径,更多请见 GitHub :https://github.com/kdelfour/lychee-docker

    最后附上卸载方式:

    • 先停止运行的容器:docker container stop [container-id]
    • 然后删除容器:docker container rm [container-id]
    • 最后删除镜像:docker image rmi [image-id]

    获取对应的 id 可以通过命令:docker container lsdocker image ls

  • 相关阅读:
    Windows Server 2012配置开机启动项
    Windows Server 2019 SSH Server
    NOIP2017 senior A 模拟赛 7.7 T1 棋盘
    Noip 2015 senior 复赛 Day2 子串
    Noip 2015 senior复赛 题解
    Noip 2014 senior Day2 解方程(equation)
    Noip 2014 senior Day2 寻找道路(road)
    Noip 2014 senior Day2 无线网络发射器选址(wireless)
    Noip2014senior复赛 飞扬的小鸟
    Noip 2014 senior 复赛 联合权值(link)
  • 原文地址:https://www.cnblogs.com/lwp-nicol/p/14329710.html
Copyright © 2011-2022 走看看