属于你自己的图床-兰空图床

前言 文章首发于poiblog.com

最近在写文章的时候发现图片有些多,不太好管理,于是在寻找一个本地的图床工具,打算配合压缩程序将图片压缩为webp格式后放在图床集中管理。于是便找到了一款图床-兰空图床(Lsky-pro)

GitHub原项目地址(感谢作者的付出):https://github.com/lsky-org/lsky-pro

利用Docker-compose搭建,易于更新

普通方法需要搭建许多依赖,但是用docker部署的话我们什么都不需要安装!

PHP >= 8.0.2
BCMath PHP 扩展
Ctype PHP 扩展
DOM PHP 拓展
Fileinfo PHP 扩展
JSON PHP 扩展
Mbstring PHP 扩展
OpenSSL PHP 扩展
PDO PHP 扩展
Tokenizer PHP 扩展
XML PHP 扩展
Imagick 拓展
exec、shell_exec 函数
readlink、symlink 函数
putenv、getenv 函数

先建立一个文件夹和文件

mkdir -p ~/lsky-pro &&cd $_

vim docker-compose.yaml

docker-compose填入以下内容:

version: '3'
services:
    lsky-pro:
        container_name: lsky-pro
        image: dko0/lsky-pro
        restart: always
        volumes:
            - ~/lsky-pro:/var/www/html  #映射到本地
        ports:
            - 7700:80
        environment:
            - MYSQL_HOST=mysql
            - MYSQL_DATABASE=lsky-pro
            - MYSQL_USER=lsky-pro
            - MYSQL_PASSWORD=lsky-pro

    mysql:
        image: mysql:8.0
        container_name: lsky-pro-db
        restart: always
        environment:
          - MYSQL_DATABASE=lsky-pro
          - MYSQL_USER=lsky-pro
          - MYSQL_PASSWORD=
          - MYSQL_ROOT_PASSWORD=lsky-pro
        volumes:
          - ~/lsky-pro/db:/var/lib/mysql

docker-compose up -d 执行部署

访问:http:服务ip:7700 即可。

更新

cd ~/lsky-pro  # 进入docker-compose所在的文件夹

docker-compose pull    # 拉取最新的镜像

docker-compose up -d   # 重新更新当前镜像

卸载

cd ~/lsky-pro  # 进入docker-compose所在的文件夹

docker-compose down    # 停止容器,此时不会删除映射到本地的数据

rm -rf ~/lsky-pro  # 完全删除映射到本地的数据

使用教程

安装

注意,数据库连接地址,填docker-compose文件里的容器名称lsky-pro-db,连接端口不用填。
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
管理员登录
在这里插入图片描述

图片上传测试

在这里插入图片描述

可以在文章内植入URL或者Markdown链接

图片管理(搜索)

在这里插入图片描述

图片预览更加直观,方便管理。

存储空间配置

默认情况下每个用户的可用空间为 500M,你可以通过修改用户角色组来修改可用空间的大小:
在这里插入图片描述

由于可用空间是以 kb 来计算大小,你可以通过这里的在线单位转换来转换成想要的大小:文件大小转换

比如说你希望每个用户能够有 1G 的可用空间,那么这里的 “总容量(kb)” 的值就可以修改为:
在这里插入图片描述
也可以通过 “系统设置” 来修改用户的初始容量:

存储策略

Lsky-pro支持多种存储策略
在这里插入图片描述
例如Aurora建议使用minio来存储,节约储存空间和带宽压力。

访问配置

访问网址:指的是上传图片之后的访问链接,一般不需要修改。比如我通过内网上传文件的方式上传了一张叫做 hello.png 的文件,那么访问地址就是 http://192.168.2.79:7700/i/hello.png 。如果访问地址修改为 http://192.168.2.79:7700/upload ,那么访问地址就变成 http://192.168.2.79:7700/upload/hello.png

注册功能,游客上传

在这里插入图片描述

是否启用注册:如果只是自己来用那么就不需要开启注册

是否允许游客上传:一般来说是禁用游客上传功能的,你不介意的话也可以打开。

配置PicGO与Typora开启接口上传功能

用图床,写博客,当然是为了方便。

在写东西的时候,我们想要做到粘贴图片到Typora就能实现自动上传到图床,兰空图床有可以用的API,我们搭配PicGO就可以实现这个效果。

获取接口URL

在这里插入图片描述

配置 PicGo

可以通过 👉官网 去查看 PicGo 的下载地址,国内的用户去 👉山东大学镜像站(点击进入下载界面) 下载64位客户端安装即可:

安装 lankong 插件

安装好之后程序会缩小到任务栏,打开主窗口
在这里插入图片描述在这里插入图片描述

配置 lankong 插件在这里插入图片描述

如果不配置 Authe Token 那么将视为游客上传,但需要在后台设置中开启游客上传的功能,否则无法直接上传图片到 Lskypro。

获取token

兰空图床不再直接显示token了,所以我们要自己获取一下token。
在这里插入图片描述

我们直接去post一下,google或者百度一下就能找到很多支持在线post的网站。

比如我们使用https://www.sojson.com/httpRequest/
在这里插入图片描述

由于我是在本地搭建的,于是我采取Postman来请求本地接口
在这里插入图片描述

POST后得到token值

参数配置
  • Lsky-pro Version: V2
  • Server :填写 Lskypro 服务器的 IP 地址,这里我们填写的是内网 IP 地址,也可以使用域名,注意结尾不要添加“/”
  • Auth token:Lskypro 用户认证密钥,组合为 Bearer + token。 举例为: Bearer 1|yX6d07pbaAygF26ocFtjtTH7cbgrBmFCFHRNihhd。注意Bearer和token中间有空格。
  • 其他参数默认不动

Typora测试

简单复制一张图片,直接粘贴,测试一下,发现能够正常上传并生成图床链接。
在这里插入图片描述

图床后台也成功显示了。

进阶:配置redis缓存

兰空图床支持 redis 或 memcached 作为缓存驱动,通常情况下默认的文件储存已经足够用,但是如果你的图床开启了原图保护功能,强烈更换为下面的任意缓存驱动。 更换驱动非常简单,只需要改变程序中的环境变量文件 .env 即可。

  • 进入 Lskypro 的配置文件夹中,找到 .env 文件
    在这里插入图片描述

  • 请按照下面的提示修改关于 Redis 的配置:
    在这里插入图片描述

  • CACHE_DRIVER 的值修改为:redis

  • REDIS_HOST 的值修改为:你的 unraid ip 地址

  • REDIS_PASSWORD 的值修改为:你配置的密码

  • REDIS_PORT 的值修改为:6379

  • 重启 Lskypro 完成设置

  • 重启之后如果没有报错,那就表示设置没有问题。

反向代理

参考教程:安装及使用

⚠️Nginx Proxy Manager(以下简称NPM)会用到80、443端口,所以本机不能占用(比如原来就有Nginx)

互联网使用请确保完成了域名解析

解决外网访问下静态资源加载失败问题

简单来说就是配置 Lskypro 外网访问的时候会出现无法正常加载 WebUI 的情况,且上传文件可能会有报错。

关于此问题的具体信息,可以点击下面链接去了解:

静态资源加载失败

https+域名+端口的访问问题,NginxProxyManager反代

解决方法

修改 Lskypro Docker 参数ASSET_URL 填写你的外网访问地址(如果有端口号需要加上端口号),比如:在配置文件内增加环境参数安装

environment:
  - env ASSET_URL=https://img.poiblog.com:80

或者在启动时添加

docker run  -e ASSET_URL=https://img.poiblog.com:80   镜像id .....

直接改配置文件

首先停止容器,不然无法修改配置文件

配置文件路径为:/var/lib/docker/containers/容器ID/config.v2.json

然后找到Env键值对修改

最后启动容器。

  • 使用命令行执行命令语句
docker exec -it Lskypro sed -i '32 a \\\Illuminate\\Support\\Facades\\URL::forceScheme('"'"'https'"'"');' /var/www/html/app/Providers/AppServiceProvider.php

修改反向代理参数(以 NginxProxyManager 为例):将下面的参数添加到 Lskypro 的反向代理配置中(其他参数不需要修改,直接保存即可)。

location / {
proxy_pass forward_scheme://forwardscheme://server:$port;
proxy_set_header Host $http_host;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Method $request_method;
proxy_set_header X-Forwarded-Ssl on;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Original-URL scheme://scheme://http_host$request_uri;
proxy_set_header X-Forwarded-Uri $request_uri;
}

在这里插入图片描述

  • 19
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好!针对兰空图床的配置阿里云OSS,您可以按照以下步骤进行操作: 1. 首先,您需要在阿里云上创建一个OSS实例。登录阿里云控制台,进入OSS产品页面,点击"创建Bucket"按钮来创建一个存储桶。 2. 在创建存储桶时,您需要选择一个地域和存储类型,根据您的实际需求进行选择。同时,您还可以设置存储桶的访问权限,确保只有授权的用户可以访问。 3. 创建完成后,您需要在兰空图床的配置文件中进行相应的配置。找到兰空图床的配置文件,一般是一个名为"config.js"或"config.json"的文件。 4. 打开配置文件,找到关于图床的配置项。一般会有一个叫做"uploadType"或"storageType"的选项,将其设置为"oss"。 5. 接下来,您需要配置阿里云OSS的相关参数。找到配置文件中与阿里云OSS相关的选项,一般是"ossConfig"或类似的字段。填入您在阿里云上创建的存储桶的AccessKeyId、AccessKeySecret、Bucket等信息。 6. 保存配置文件,并重启兰空图床服务,使配置生效。 完成上述步骤后,兰空图床就成功配置了阿里云OSS作为存储后端。您可以尝试上传图片,系统会将图片存储到阿里云OSS中,并返回图片的访问链接。 请注意,以上步骤仅是一个基本的配置示例,具体的配置方式可能因兰空图床的版本或其他因素而有所差异,请根据兰空图床的官方文档或相关指南进行具体操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值