私有图床搭建
腾讯云服务器 + 宝塔面板 + 空兰图床Lsky-Pro + PigGo
腾讯云服务器 和 宝塔面板 这里不做记录,正好为个人已有环境。
Lsky Pro 兰空图床
github: github.com/lsky-org/ls…
在线文档:docs.lsky.pro/docs/v2/#%E…
安装常见问题:github.com/lsky-org/ls…
Lsky Pro是一个用于在线上传、管理图片的图床程序,中文名「兰空图床」,你可以将它作为自己的云上相册,亦可以当作你的写作贴图库。实际上就是一个图片管理系统,提供增删改查接口,可以对接PigGo,另外可以提供多用户使用。
宝塔部署Lsky Pro
环境准备
此环境准备是在已搭建好宝塔面板的基础上进行的,之前我也部署过别的项目,所以环境还算齐全。
安装php8.0版本
我这里使用的Lsky Pro是2.x版本,需要php>8.0.2
在宝塔的软件商店中安装PHP-8.0

安装php扩展
安装完毕后,为php-8.0再安装fileinfo和imagemagick扩展

解除禁用函数
解除禁用默认函数(可放在后面进行)
exec、readlink、symlink、putenv、getenv 默认情况下PHP8.0对这几个函数都是禁用了的,需要解除禁用
当然,这里不用先禁用,在登入LskyPro系统的时候,会提示你哪些函数被禁用了,可以一个一个再去解除
删除后注意重启PHP服务

升级mysql为5.7以上版本
我原有mysql版本为5.6,需切换mysql版本为5.7以上
这里注意!切换mysql版本需删除所有原有数据库,可在宝塔面板数据库模块中进行备份!

安装部署
添加站点
这里我已有域名,没有域名的可以直接用ip,这里不再赘述。
注意别忘记在服务器工作台中为此域名添加解析

下载Lsky Pro 2.X
注意别下载错了,别下源代码了

上传文件到站点根目录 进行解压
解压后的根目录如图,注意是把压缩包内的所有放在根目录内

设置站点运行目录为public

设置伪静态
location / {
try_files $uri $uri/ /index.php?$query_string;
}

为站点申请ssl,支持https

访问站点
如环境有问题,根据页面提示操作即可
然后会让登录数据库,在创建站点时,也创建了数据库,输入创建的数据库名,用户名,密码即可
还会让你输入邮箱,创建管理员用户,根据操作创建即可,此邮箱可用于找回密码
这样 LskyPro就搭建成功了,除了自己用,也可以多用户使用
使用可以见使用手册:docs.lsky.pro/docs/v2/#%E…

一些配置规则可自行摸索 比如存储路径等。

PigGo
github:github.com/Molunerfinn…
在线文档:picgo.github.io/PicGo-Doc/z…
PicGo: 一个用于快速上传图片并获取图片 URL 链接的工具,这里大家应该都很熟悉。
PigGo配置传入图片至SkyPro图床
安装lankong插件

配置lankong插件
这里的Auth token需要可直接在服务器中使用curl获取
curl -X POST -F "email=your_email@address" -F "password=your_passwd" https://your.domain/api/v1/tokens
这里的Server注意只填 站点网址

PigGop配置
然后可以为PigGo设置一个自己熟悉的快捷键
这样 比如复制图片后, 按下快捷键,图片就传到LskyPro中啦,然后会自动生成markdown格式的 url到剪贴板,当然这个格式可配置,可自行选择。
踩坑
mysql
切换mysql版本后,mysql会重置,无法在本地或者其他客户端直连,这里需重新设置 (以root用户为例)
(此与本项目无关,纯事后发现navicat连不上数据库了,踩坑发现)
后在csdn上找到了解决办法,原文地址:blog.csdn.net/qq_42068856…
宝塔终端内登录数据库

进入 mysql数据库

查看user表的host字段
select host from user where user='root';
这些是允许访问数据库的地址。我们可以追加一条也可以直接将localhost改成%允许所有地址使用这个 用户访问。

更改host字段允许远程访问
update user set host='%' where user = 'root' and host='localhost';

然后再查看一下这个字段
select host from user where user='root';

如图所示说明修改成功。最后使用命令更新设定即可。
更新设定
flush privileges;

这样以后,就可以远程登录mysql了