个人博客网站一揽子:Docker搭建图床(Lsky Pro)

Lsky Pro

介绍

Lsky Pro 是一个用于在线上传、管理图片的图床程序,中文名:兰空图床,你可以将它作为自己的云上相册,亦可以当作你的写作贴图库。
兰空图床始于 2017 年 10 月,最早的版本由 ThinkPHP 5 开发,后又经历了数个版本的迭代,在 2021 年末启动了新的重写计划并于 2022 年 3 月份发布全新的 2.0 版本。

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

Docker部署Lsky Pro

1.Docker启动

Docker Hub选取合适的镜像,由于没有官方镜像,查找后,选取了Halcyonazure/LSKY-Pro-Docker
Pasted image 20230915173114.png
同样不使用-p命令,将其隐藏至虚拟子网中。

docker run -d --name lskypro --net wpnt -v /var/lskypro:/var/www/html halcyonazure/lsky-pro-docker:latest

Pasted image 20230915175223.png
使用命令查看虚拟子网下的容器:

docker network inspect wpnt

已添加入虚拟子网中。
Pasted image 20230915205103.png

2.Nginx反向代理

首先建立Nginx的端口映射,添加Nginx端口映射首先需要停止Docker容器,在/var/lib/docker/containers/{容器id}下有两个文件为hostconfig.jsonconfig.v2.json,分别修改两个文件如下:
hostconfig.json:

"PortBindings":{"80/tcp":[{"HostIp":"","HostPort":"80"}],"8089/tcp":[{"HostIp":"","HostPort":"8089"}]}

config.v2.json:

“ExposedPorts”:{"80/tcp":{},"8089/tcp":{}}

之后,在之前文章中实现的[[Docker建站(Nginx、Wordpress、MySql)#^517b3b|Nginx实现反向代理]]的nginx.conf中添加以下内容:
nginx.conf:

upstream picbed {server lskypro:8089;
}
server {listen 8089;sendfile on;keepalive_timeout 65;charset utf-8;location / {charset utf-8;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header Host $http_host;proxy_set_header X-NginX-Proxy true;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection "upgrade";proxy_pass http://picbed;proxy_redirect off;}
}
3.配置Mysql

与前文中的[[Docker建站(Nginx、Wordpress、MySql)#^6de5b5|Mysql配置]]相似,登录到mysql实例中:

sudo docker exec -it wpdb bash
mysql -uroot -p1q2w3e

创建图床专用数据库:

create database lskypro;
4.配置Lsky Pro

使用http://ip:端口号即可访问,如下图
Pasted image 20230915223323.png
选择数据库为Mysql,数据口地址为虚拟子网内名称,数据口名称为刚才建立的lskypro
Pasted image 20230915225448.png
输入正确后就得到如下页面:
Pasted image 20230915225611.png
使用管理员账号登入系统:
Pasted image 20230915225715.png

要使用域名访问,在管理面板中修改储存策略
Pasted image 20230915230125.png

总结

至此,我们实现了在自己的云服务器上搭建图床,借此可以实现笔记或者博文的多端同步,极大的方便了学习。

┗|`O′|┛ 嗷~~
请添加图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/82063.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

郑州大学图书馆许少辉《乡村振兴战略下传统村落文化旅游设计》中文文献——2023学生开学季辉少许

郑州大学图书馆许少辉《乡村振兴战略下传统村落文化旅游设计》中文文献——2023学生开学季辉少许

【PyTorch攻略(2/7)】 加载数据集

一、说明 PyTorch提供了两个数据原语:torch.utils.data.DataLoader和torch.utils.data.Dataset,允许您使用预加载的数据集以及您自己的数据。数据集存储样本及其相应的标签,DataLoader 围绕数据集包装一个可迭代对象,以便轻松访问…

Spring注解家族介绍: @RequestMapping

前言: 今天我们来介绍RequestMapping这个注解,这个注解的内容相对来讲比较少,篇幅会比较短。 目录 前言: RequestMapping 应用场景: 总结: RequestMapping RequestMapping 是一个用于映射 HTTP 请求…

【ELFK】之zookeeper

一、Zookeeper是什么? zooleeper是一个分布式服务管理框架。存储业务服务节点元数据及信息,并复制;通知客户端在zookeeper上注册的服务节点状态,通过文件系统通知机制 1、Zookeeper工作机制 Zookeeper从设计模式角度来理解 是…

[设计模式] 浅谈奇异递归模板模式

设计模式种最熟知的是23种经典设计模式,但奇异递归模板模式(Curiously Recurring Template Pattern, CRTP)是否有资格被单独当成一种设计模式,但是在C种,CRTP确实是一种模式。其理念非常简单: 继承者将自身作为模板参数传递给基类…

Vue3 封装 element-plus 图标选择器

一、实现效果 二、实现步骤 2.1. 全局注册 icon 组件 // main.ts import App from ./App.vue; import { createApp } from vue; import * as ElementPlusIconsVue from element-plus/icons-vueconst app createApp(App);// 全局挂载和注册 element-plus 的所有 icon app.con…

Python Web开发:构建动态Web应用

💂 个人网站:【工具大全】【游戏大全】【神级源码资源网】🤟 前端学习课程:👉【28个案例趣学前端】【400个JS面试题】💅 寻找学习交流、摸鱼划水的小伙伴,请点击【摸鱼学习交流群】 Python已经成为一门流行…

FPGA纯verilog实现8路视频拼接显示,提供工程源码和技术支持

目录 1、前言版本更新说明免责声明 2、我已有的FPGA视频拼接叠加融合方案3、设计思路框架视频源选择OV5640摄像头配置及采集静态彩条视频拼接算法图像缓存视频输出 4、vivado工程详解5、工程移植说明vivado版本不一致处理FPGA型号不一致处理其他注意事项 6、上板调试验证并演示…

ChatGLM DeepSpeed 全参数微调

ChatGLM-6B 是一个开源的、支持中英双语的对话语言模型,基于 General Language Model (GLM) 架构,具有62亿参数。结合模型量化技术,用户可以在消费级的显卡上进行本地部署(INT4 量化级别下最低只需6GB显存)。 ChatGLM-6B 是一个文本生成式对话模型,可以用于问答、闲聊等…

PHP8的类与对象的基本操作之成员方法-PHP8知识详解

成员方法是指在类中声明的函数。 在类中可以声明多个函数,所以对象中可以存在多个成员方法。类的成员方法可以通过关键字进行修饰,从而控制成员方法的商用权限。 函数和成员方法唯一的区别就是,函数实现的是某个独立的功能,而成…

Java8实战-总结30

Java8实战-总结30 并行数据处理与性能并行流正确使用并行流高效使用并行流 小结 并行数据处理与性能 并行流 正确使用并行流 错用并行流而产生错误的首要原因,就是使用的算法改变了某些共享状态。下面是另一种实现对前n个自然数求和的方法,但这会改变…

vue3 + vite常用工具

1. plop 1.1 安装 yarn add plop -D1.2 使用 1.2.1 package.json 配置脚本命令 "scripts": {"dev": "vite --mode dev","build": "vue-tsc --noEmit && vite build","serve": "vite preview"…

创建型-单例模式-实现和优缺点

一、实现方式: 单例模式是一种设计模式,用于确保一个类只有一个实例,并提供一个全局访问点来访问该实例。以下是几种实现单例模式的常见方式: 懒汉式(Lazy Initialization): 这种方式在第一次使…

RocketMQ 发送顺序消息

文章目录 顺序消息应用场景消息组(MessageGroup)顺序性生产的顺序性MQ 存储的顺序性消费的顺序性 rocketmq-client-java 示例(gRPC 协议)1. 创建 FIFO 主题生产者代码消费者代码解决办法解决后执行结果 rocketmq-client 示例&…

Hbase工作原理

Hbase:HBase 底层原理详解(深度好文,建议收藏) - 腾讯云开发者社区-腾讯云 Hbase架构图 同一个列族如果有多个store,那么这些store在不同的region Hbase写流程(读比写慢) MemStore Flush Hbas…

计算机二级python简单应用题刷题笔记(一)

计算机二级python简单应用题刷题笔记(一) 1、词频统计:键盘输入一组我国高校所对应的学校类型,以空格分隔,共一行。2、找最大值、最小值、平均分:键盘输入小明学习的课程名称及考分等信息,信息间…

Python运算符、函数与模块和程序控制结构

给我家憨憨写的python教程 ——雁丘 Python运算符、函数与模块和程序控制结构 关于本专栏一 运算符1.1 位运算符1.1.1 按位取反1.1.2 按位与1.1.3 按位或1.1.4 按位异或1.1.5 左移位 1.2 关系运算符1.3 运算顺序1.4 运算方向 二 函数与模块2.1 内建函数2.2 库函数2.2.1 标准库…

css 预处理器的相关使用

css 预处理器的相关使用 sass 预处理器相关语法及使用技巧 1. 变量 定义变量:$变量: 属性值; 的方式定义变量 使用变量:$变量 $bone_fish_color: #dcdfe6;/* 使用 */ color: $bone_fish_color;2. 继承 extend 使用场景: 继承另一个选择器的代码. 使用方…

关于远程工作的面试可能存在的陷阱

附上看到的完整帖子地址:面试 POPER 的后端开发工程师的离奇经历 分享一下我遇到过的,我至少面试过10个远程工作,其中有3个的面试是直接让我完成一个需求的,前两次都耐心做了,第3次看到相同要求时我都懒得回复了&…

【pytest】 pytest拓展功能 PermissionError问题

目录 1. pytest-html 1.1 PermissionError: [Errno 13] Permission denied: D:\\software\\python3\\anconda3\\Lib\\site-packages\\pytest_html\\__pycache__\\tmp_ttoasov 1.2错误原因 2. 失败用例重试 3. 用例并行执行 pytest-parallel 1. pytest-html 管理员打开 A…