EasyImage和Lsky Pro两款图床的搭建与使用

1 前言

一个好的图床,是网站或文章的图片能稳定显示的关键,可是很多图床要么不稳定,要么收费,导致网站或文章图片经常挂掉,为了能让图片稳定显示,可以选择自建一个图床网站。

注意

本文将安装宝塔面板,使用宝塔面板可简化操作难度,另外涉及 Docker、ApiPost 和 PicGo 等程序的使用安装根据个人选择而定。

2 比较

2.1 EasyImage

EasyImage 是一款免费开源且功能强大的轻量图床程序,还不强制使用数据库运行。

演示站:https://png.cm/

2.1.1 特点

  • 支持 API
  • 支持仅登录后上传
  • 支持设置图片质量
  • 支持压缩图片大小
  • 支持文字/图片水印
  • 支持设置图片指定宽/高
  • 支持上传图片转换为指定格式
  • 支持限制最低宽度/高度上传
  • 支持上传其他文件格式
  • 在线管理图片
  • 支持网站统计
  • 支持设置广告
  • 支持图片鉴黄
  • 支持自定义代码
  • 支持上传 IP 黑白名单
  • 支持上传日志 IP 定位
  • 支持限制日上传次数
  • 支持创建仅上传用户
  • 对于安装环境要求极低
  • 对于服务器性能要求极低
  • 理论上支持所有常见格式

2.1.2 界面展示

image-20231205004313244

image-20231205004342712

image-20231205004412366

image-20231205004519102

2.2 Lsky Pro

Lsky Pro 是一个用于在线上传、管理图片的图床程序,可以将它作为云上相册或者写作图床等。

演示站(付费版):https://wmimg.com/

2.2.1 特点

  • 支持本地等多种第三方云储存 AWS S3阿里云 OSS腾讯云 COS七牛云又拍云SFTPFTPWebDavMinio
  • 多种数据库驱动支持,MySQL 5.7+PostgreSQL 9.6+SQLite 3.8.8+SQL Server 2017+
  • 支持配置使用多种缓存驱动,MemcachedRedisDynamoDB、等其他关系型数据库,默认以文件的方式缓存
  • 多图上传、拖拽上传、粘贴上传、动态设置策略上传、复制、一键复制链接
  • 强大的图片管理功能,瀑布流展示,支持鼠标右键、单选多选、重命名等操作
  • 自由度极高的角色组配置,可以为每个组配置多个储存策略,同时储存策略可以配置多个角色组
  • 可针对角色组设置上传文件、文件夹路径命名规则、上传频率限制、图片审核等功能
  • 支持图片水印、文字水印、水印平铺、设置水印位置、X/y 轴偏移量设置、旋转角度等
  • 支持通过接口上传、管理图片、管理相册
  • 支持在线增量更新、跨版本更新
  • 图片广场

2.2.2 界面展示

image-20231205003908798

image-20231205004011520

image-20231205004040212

image-20231205004102792

3 准备

推荐使用宝塔面板,两款图床均需要 LNMP 环境以及某些 PHP 拓展,使用宝塔面板可以降低环境搭建的难度,宝塔面板安装可参考下方文章,然后在宝塔面板选择安装 LNMP 套件

{% link 安装宝塔面板,服务器最佳搭档,宝塔和1Panel的部署与选择,/posts/6c819fda/ %}

如果选择 EasyImage 图床,还可以使用 Docker,可参考下方文章

{% link 安装Docker,零基础Docker入门指南,/posts/869715fc/ %}

4 EasyImage 部分

本部分 EasyImage 的安装将介绍两种方式,分别是宝塔软件商店和 Docker,推荐使用宝塔软件商店

4.1 安装拓展

打开宝塔后台>软件商店>已安装>选择 php(设置)>安装扩展>选择安装fileinfo iconv zip mbstring openssl(如果没有就是已经安装了),安装完成后重启 PHP

image-20231128194825519

4.2 安装图床

4.2.1 方式一:宝塔软件商城(推荐)

在宝塔面板左侧菜单栏点击软件商店,选择一键部署分类,搜索简单图床,在列表中找到对应项目点击一键部署操作

image-20231128193813757

进行部署配置,域名需要在云服务商的域名控制台进行域名解析

image-20231128204402092

提交完成后在宝塔面板左侧菜单栏点击网站,找到简单图床对应的网站行点击设置,点击网站目录关闭防跨站攻击

image-20231128205616540

创建成功站点后访问,首先会对安装环境进行检测,无问题则下一步

image-20231128210128723

第二步将进行网站基础配置,如无特殊情况则保持默认开始安装,跳转至登录页即为安装成功

image-20231128210331634

4.2.2 方式二:Docker 部署

创建配置目录和存储目录

# 配置目录
mkdir -p /root/data/docker_data/easyimage/config
# 存储目录
mkdir -p /root/data/docker_data/easyimage/i

使用 docker-cli 安装 EasyImage

docker run -itd \
  --name easyimage \
  -p 8080:80 \
  -e TZ=Asia/Shanghai \
  -e PUID=1000 \
  -e PGID=1000 \
  -e DEBUG=false \
  -v /root/data/docker_data/easyimage/config:/app/web/config \
  -v /root/data/docker_data/easyimage/i:/app/web/i \
  ddsderek/easyimage:latest

通过 IP:8080 访问,如要通过域名访问需使用 Nginx 做反向代理

4.3 图床使用

4.3.1 获取 PicGo

下载最新版PicGo

image-20231129003108015

4.3.2 安装插件

安装后在插件设置中搜索 web-uploader,选择 web-uploader 1.1.1 安装

image-20231129003530480

4.3.3 配置图床

依次点击图床设置>自定义 Web 图床,然后新建一个图床配置,按照如下方式填写,然后确定并设置为默认图床

图床配置名:     // 自定义
API地址: https://png.cm/api/index.php    // 网站api地址
POST参数名: image
JSON路径: url
自定义请求头:     // 不填写
自定义Body: {"token":"1c17b11693cb5ec63859b091c5b9c1b2"}    // 网站生成的token。将其放在{"token":"xxx"}中

image-20231129195931317

然后在图床安全中的高级设置里开启 API 上传

image-20231129203058534

4.3.4 测试上传

在 PicGo 上传一张图片,并在简单图床中查看是否有这张图片,若有则为上传成功,没有则检查以下几点

  1. 是否开启 API 上传
  2. PicGo 的配置信息是否正确,尤其是自定义 Body 中需要添加{“token”:“xxx”}
  3. 图床选择是否正确

image-20231129203416856

5 Lsky Pro 部分

5.1 环境安装

宝塔面板的 LNMP 套件的 PHP 默认版本为 7.4,而 Lsky Pro 的要求为大于等于 8.0.2,打开宝塔后台>软件商店,搜索 PHP,推荐安装 8.1 版本

image-20231129211215544

进入 php8.1 管理页,然后点击安装扩展,安装fileinfoimagemagickexif扩展

image-20231129225215865

进入 php8.1 管理页,然后点击禁用函数,找到exec、shell_exec 函数readlink、symlink 函数putenv、getenv 函数chmod、chown、fileperms 函数点击删除

image-20231129225337889

5.2 安装图床

5.2.1 创建站点

打开宝塔面板,选择左侧菜单栏的网站,点击添加站点,域名可设置 IP 或域名,数据库选择 MySQL,PHP 版本选择 PHP-81,其它项可自定义

image-20231129231001728

5.2.2 上传程序

Lsky Pro GitHub 发布页中找到最新版本的图床程序并复制下载链接

image-20231130112902254

打开刚刚创建的网站根目录,在远程下载中选择从 URL 链接下载,在 URL 中填写在 GitHub 复制的下载链接,如果无法远程下载,就在 GitHub 里下载到本地后上传

image-20231130114212307

下载好后双击文件名解压到当前目录

image-20231130114914048

5.2.3 网站配置

程序上传完后回到网站>站点设置>网站目录,将网站运行目录设置为 /public目录,修改后点击保存

image-20231130121345910

然后点击伪静态,输入以下规则后保存

location / {
   if (!-e $request_filename) {
    rewrite ^(.*)$ /index.php?s=$1 last; break;
   }
}

image-20231130121755251

5.2.4 图床安装

在云服务商的域名控制台将访问域名进行域名解析,在浏览器中访问站点地址自动跳转至安装页面,在第一步运行环境检测中无问题则下一步

image-20231130122630674

在前面创建站点时就创建了数据库,在宝塔面板左侧菜单栏点击数据库,找到对应数据库按提示填写

image-20231130123315808

最后点击立即安装,出现程序安装完成。即为安装成功,点击指定位置即可快速访问程序首页

image-20231130123618692

image-20231130123747116

5.3 图床使用

4.3.1 获取 PicGo

下载最新版PicGo

image-20231130130019268

4.3.2 安装插件

安装后在插件设置中搜索 lankong,选择作者为 hellodk 的安装

image-20231130130240110

4.3.3 配置图床

获取 Token:

使用 ApiPost 或者在线 POST 工具,打开 Lsky Pro 左侧菜单栏的接口项(需登录),获得接口 URL

image-20231130133705248

依次点击图床设置>lankong,然后新建一个图床配置,按照如下方式填写,然后确定并设置为默认图床

图床配置名:     // 自定义
Lsky Pro Version: V2    // 版本,选择V2
Server: http://lsky.talen.top    // 图床地址,不要以/结尾
Auth token: Bearer x|xxxxxxxxxxxxx    // Token,需用Bearer拼接
Strategy ID:     // 存储策略 ID,如果是使用默认存储策略则留空;除非知道具体ID否则请留空
Album ID:     // 相册ID,选填
Permission: private(default)    // 图片权限,公开还是私有,默认是私有
ignore certificate error: 开关    // 保持关闭,遇到证书报错再考虑是否开启
Sync Delete: 开关    // 同步删除选项,开启后在 PicGo 相册中删除图片可同步删除图床上的文件

image-20231130160230371

4.3.4 测试上传

在 PicGo 上传一张图片,并在 Lsky Pro 图床中查看是否有这张图片,若有则为上传成功,没有则检查以下几点

  1. PicGo 的配置信息是否正确,尤其是 Auth token 中需要添加Bearer 拼接
  2. 图床选择是否正确

image-20231130161339590

6 写在最后

本文两款图床在应对日常使用没有太大的区别,在搭建上 EasyImage 图床更加快捷方便,在页面 UI 上 Lsky Pro 更加美观,操作也更舒服,要选择哪一款可以尝试一些演示站后决定,但无论哪一款,一定要注意隐私安全。


本文首发于 爱吃猫的鱼BLOG

  • 20
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
这款图床程序,有自动匹配图片相对大小(不压缩图片,代码调整大小)、自动生成图片嵌入代码等等功能,亮点自然是支持自由位置的添加水印。 支持对水印的自定义,页面中水印的默认位置或者是否添加都有相应的设置参数可以调整。水印支持 PNG 透明图片添加,但是不支持动态 GIF 的水印添加。 图片代码自动生成,wordpress 系统因为主题的不同,其实生成的图片代码也是不一样的,这样就造成了很多代码的冗余,久而久之就会造成数据库不必要的庞大,自动生成的 HTML 代码是最简单的,并且已经填好了 Alt 等等详细的信息,图片区域的 Class 可以通过设置参数自定义。 图片相对自适应缩放功能。假设您的文章区域是 600px 但是我们却上传了一个 1000px 的图片,毫无疑问,这张图片在宽度上是会有溢出的,但是我们通过后台的设置参数设置之后,这张 1000px 的图片就会在生成代码的时候,从代码当中调整图片的相对长和宽,从而使图片刚刚匹配文章区域,但是图片仍然是 1000px 的,并且也不会有什么压缩和生成缩略图。程序的橙色框框的宽度,就是后台设置的宽度,十分直白。   使用方法: 分别打开 index.php 和 sc.php 在文件顶部即可调整设置参数,调整完成参数之后保存上传到服务器即可,如果是 wordpress 的话,你自然是可以上传到 uploadls 目录的,如果是其他站点系统,上传到图片保存位置,并且访问 sc.php 即可,两个文件都可以随意更改名称,sc.php 为上传文件,index.php为浏览文件。这里要提一点的是,“文件所在路径”的末尾一定要加上“/”结尾。 本程序归作者所有,请勿随意修改作品,删除作品当中的链接地址,使用本程序就是您对作者的最大鼓励。哦对了,后面还会添加更多功能哦,想要什么功能快来留言吧。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

M.Talen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值