腾讯云服务器 + 宝塔面板 + LskyPro + PigGo 搭建私有图床

881 阅读4分钟

私有图床搭建

腾讯云服务器 + 宝塔面板 + 空兰图床Lsky-Pro + PigGo

腾讯云服务器 和 宝塔面板 这里不做记录,正好为个人已有环境。

Lsky Pro 兰空图床

github: github.com/lsky-org/ls…

在线文档:docs.lsky.pro/docs/v2/#%E…

下载:github.com/lsky-org/ls…

安装常见问题: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

github.com/lsky-org/ls…

注意别下载错了,别下源代码了

上传文件到站点根目录 进行解压

解压后的根目录如图,注意是把压缩包内的所有放在根目录内

设置站点运行目录为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…

下载:github.com/Molunerfinn…

PicGo: 一个用于快速上传图片并获取图片 URL 链接的工具,这里大家应该都很熟悉。

PigGo配置传入图片至SkyPro图床

下载:github.com/Molunerfinn…

安装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了