介绍

一个基于多家对象存储源的 Spring Boot 开源图床项目。系统使用 Spring Boot 搭建, 针对用户更方便的管理自己的图片管理拓展功能, 目前已经支持 本地、NOS、OSS、又拍云、七牛云、COS、FTP、U-File 存储源.

Hellohao

本程序是由 Java 语言基于 Spring Boot 开发的图床程序,并且毫无保留的把它开源了出来。

功能

  • 多主题支持:炫酷壁纸、简约蓝白
  • 支持 图片拖拽、截图软件直接(Ctrl+V)和图片URL地址上传。
  • 对接本地、网易、阿里、又拍、七牛、腾讯、FTP等各大对象存储平台。
  • 图片定期暂存(到期自动删除)
  • 支持画廊分享模式(用户可把自己当前上传的图片以图片集的形式批量分享给好友)
  • 重复图片检测
  • 支持上传者IP记录,并可配置IP黑名单操作
  • 支持链接生成二维码。
  • 支持开启/关闭API接口。
  • 设置用户可用容量
  • 扩容码生成(用户可使用扩容码进行容量扩充)
  • 分发群组(配置用户群组,不同群组分发图片到不同对象存储)
  • 首页背景动态/静态,以及简约模式设置
  • URL列表、缩略图。查看原图等功能。
  • 图片鉴黄配置(开启后,每天固定时间进行非法图片监测)
  • 游客、用户的上传管理
  • 邮箱注册激活。
  • 站点样式设置和上传规则配置等。
  • 等等~~

这里是一些你可能会感兴趣的链接

在线文档: http://tbed.hellohao.cn/doc

演示站点( Pro 版): https://www.catpic.xyz

Pro 版优势:

1.用户添加图片水印

2.图片无损压缩

3.支持 B2 云存储

点击 http://tbed.hellohao.cn/pay 购买 Pro 版

开发者交流群:

群名称: Hellohao图床开发者交流群

群号: 864800972

一些图片

运行环境

JDK 1.8 +

MySQL 5.5 +

详细部署教程

一键脚本

yum install -y wget && wget -O hellohao.sh http://www.hellohao.cn/gg/hellohao.sh && bash hellohao.sh

一键脚本简单粗暴,包括 Java 环境,不需要去下载 Jar 包,不需要自己去写命令运行。也不需要 Screen 或者 nohub 之类的后台命令,让用户傻瓜式操作。

缺点: 如果重启了服务器,则需要重新部署。没有开机自启。

所以不推荐使用一键脚本

手动部署 Jar 包

先下载编译好的 jar 包 https://github.com/Hello-hao/Tbed/releases

速度慢可以使用我们提供的 Github 加速服务

还有0u0’Drive: https://drive.0u0.ltd/#/s/ymu8

导入数据库

创建数据库 picturebed , 字符集选择 utf8
导入压缩包里的 picturebed.sql

安装Java环境

(这里用 Centos 7 演示, 其他系统大同小异)

yum install java-1.8.0-openjdk* -y

宝塔用户可以到应用商店安装 Tomcat 8(因为 Tomcat 8自带 Java 环境)

打开 application.properties 修改 MySQL 和 端口等信息

这里是一份示例

#数据库用户名
spring.datasource.username=root
#数据库密码
spring.datasource.password=root
#数据库连接地址
spring.datasource.url=jdbc:mysql://localhost:3306/picturebed?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8
#运行端口
server.port=8088
#鉴黄周期表达式 下方表达式为每天七点半执行
Expression=0 30 04 * * ?

#下边的配置项无需修改。
mybatis.configuration.map-underscore-to-camel-case=true
mybatis.mapper-locations=classpath:mapper/*.xml
logging.level.cn.hellohao.dao=debug
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
spring.jackson.time-zone=GMT+8
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.thymeleaf.cache=false
multipart.maxFileSize=10240KB
multipart.maxRequestSize=10240KB
spring.thymeleaf.mode = LEGACYHTML5
spring.http.multipart.location=/data/upload_tmp

在任何一个目录下新建一个属于你的独特文件夹目录把 Tbed.jarapplication.properties 放到你刚才新建的目录下, 注意这两个文件必须要在同一目录下不能分开哦~

在完成了上述步骤后,你可以使用 SSH 连接你的服务器,进入刚才独特文件夹目录,然后执行以下命令.

$ cd /你那独特文件夹目录
$ java -jar Tbed.jar

显示这段绿绿的文字就代表运行成功啦~

记得放行你刚才配置文件里写的端口哟

然后你就可以访问 http://yourip:8088 访问你的站点

初始用户名为: admin

初始密码为: admin

但,这还不够

谁会用 ip:8088 访问你的站点啊

而且当你关闭 shh 连接,程序就没了

所以我们来学习反向代理和 Screen 命令

反向代理宝塔用户可以轻松配置

Screen

十分简单

$ screen -S tbed
##创建一个名为 tbed 的 screen 会话
$ screen -r tbed
##进入一个名为 tbed 的 screen 会话
也就是说我们开机后执行 screen -S tbed 创建会话,执行java -jar tbed.jar 然后 Ctrl+A+D 退出会话 

然后就可以使程序在后台跑起来了

本文大部分内容引用 :http://www.hellohao.cn/?p=201

说点什么
快来畅所欲言吧,不可以违法哦~
支持Markdown语法
好耶,沙发还空着ヾ(≧▽≦*)o
Loading...