云服务器搭建独立图床站点(自建图片托管)

云服务器搭建独立图床站点(自建图

推荐首选:兰空图床 Lsky Pro,国内最成熟开源PHP图床,支持本地/对象存储、API上传、水印、权限管理,搭配宝塔/1Panel面板一键部署,适合做独立图片托管网站;备选:EasyImage(极简无数据库)、Chevereto(国外经典图床)片托管)

一、前期准备

  1. 云服务器
    • 最低:1核1G,系统推荐 Ubuntu 22.04 / CentOS7/9;长期使用建议2核2G,图片多尽量外接对象存储COS/OSS,不要只用服务器本地硬盘(硬盘容易满、扩容麻烦)
    • 安全组放行端口:80、443(http/https),SSH 22端口
  2. 域名(推荐,独立站点必备)
    建议二级域名,如 shturl.cc/l,域名解析A记录指向服务器公网IP;后续申请SSL证书开启HTTPS。
  3. 工具
    FinalShell/Xshell SSH连接服务器;宝塔面板 / 1Panel(可视化管理,新手首选)

⚠️ 合规提醒:自建图床严禁上传色情、侵权、违法图片;如果开放公开上传,一定要做内容审核,否则服务器会被封禁,承担法律责任。

QQ20261021-033504

二、方案选择对比
| 程序 | 语言 | 数据库 | 特点 | 适合人群 |
| Lsky Pro 兰空图床 | PHP | MySQL | ✅API、水印、多存储后端、用户权限、相册、中文后台 | 绝大多数,独立托管站点首选 |
| EasyImage | PHP | 可选无库 | 轻量,压缩图片、水印、上传限制,部署极快 | 简单个人使用,不想维护数据库 |
| Chevereto-Free | PHP | MySQL | 画廊样式,社区风格,国外经典 | 想要类似imgur的展示页面 |
| Zipline | NodeJS | PostgreSQL | 文件托管+图床+短链接一体,ShareX友好 | 喜欢全功能文件托管,会Node |

三、宝塔面板部署 Lsky Pro(保姆步骤,推荐)

  1. 服务器SSH执行宝塔一键安装脚本(CentOS示例)
yum install -y wget && wget -O install.sh [http://download.bt.cn/install/install_6.0.sh](http://download.bt.cn/install/install_6.0.sh) && sh install.sh

Ubuntu:

wget -O install.sh [http://download.bt.cn/install/install_6.0.sh](http://download.bt.cn/install/install_6.0.sh) && sudo bash install.sh

安装完成,记录面板地址、账号密码。

  1. 登录宝塔面板,安装环境
    软件商店安装:Nginx、MySQL 5.7/8.0、PHP8.1

  2. 添加网站
    网站 → 添加站点,填入你的图床域名(shturl.cc/l),创建MySQL数据库,记下数据库名、账号、密码。

  3. 上传兰空程序

  • 打开网站根目录 /www/wwwroot/shturl.cc/l
  • 远程下载Lsky Pro最新版压缩包(Github Releases),解压
  • 关键:网站运行目录改为 /public(宝塔站点设置→网站目录)
  • Nginx伪静态填入下面规则并保存:
location / {
    if (!-e $request_filename) {
        rewrite ^(.)$ /index.php?s=$1 last;
        break;
    }
}
  1. 访问域名安装图床
    浏览器打开 [https://shturl.cc/l](https://shturl.cc/l),进入安装向导
    填入数据库信息,设置管理员账号密码,完成安装。

  2. 基础后台配置

  • 存储:默认本地存储;可在后台切换对接阿里云OSS、腾讯COS、S3兼容对象存储(推荐,图片存在对象存储,服务器只做程序)
  • 上传设置:限制单图大小、允许图片格式、开启图片压缩、水印
  • API:开启API,获取Token,可对接PicGo、PicList、ShareX一键上传图片
  • 用户:开启注册/关闭注册,适合私人使用就关闭注册,仅管理员上传

四、Nginx 防盗链配置(必做,防止别人盗图跑满带宽)
进入站点Nginx配置,添加图片防盗链规则,放在server{}内:

location ~ \.(jpg|jpeg|png|gif|webp|svg)$ {
    expires 30d;
    valid_referers none blocked shturl.cc/l shturl.cc/b;
    if ($invalid_referer) {
        return 403;
    }
}
  • valid_referers 填写允许引用图片的域名
  • none:允许直接浏览器打开图片链接;blocked:兼容部分客户端
  • 改完执行 nginx -t 校验配置,nginx -s reload 重载Nginx

如果你需要微信/公众号能正常加载图片,把微信相关域名加入白名单,或者临时去掉防盗链(有带宽风险)

五、HTTPS配置
宝塔面板 → 网站 → SSL,申请Let’s Encrypt免费证书,强制HTTPS,图片外链推荐HTTPS链接。

六、配套客户端上传(PicGo/PicList)

  1. 打开PicGo,图床插件选择 兰空图床
  2. 填写图床地址、API Token、上传存储文件夹
  3. 截图粘贴自动上传,直接复制Markdown图片链接,Typora、Obsidian、博客写作无缝使用。

七、优化与运维建议

  1. 存储方案推荐
    小规模自用:服务器本地磁盘;大量图片、对外公开使用:对象存储COS/OSS,图床程序只负责管理,图片文件存在对象存储,不占用服务器硬盘,可搭配CDN加速图片访问。
  2. 备份
    定时备份MySQL数据库;如果本地存储图片,定期备份图片目录;使用对象存储则开启存储桶版本保护。
  3. 限制
    限制单文件大小、每日上传数量,防止被刷流量。
  4. CDN加速
    域名接入CDN,图片加载更快,同时隐藏源服务器IP,防护DDoS。

八、Docker一键快速部署方案(不想装面板)
Lsky Pro 也支持Docker,一行命令拉起,适合熟悉Linux用户。

docker run -d --name lsky -p 8080:80 -v lsky-data:/var/www/html -e DB_HOST=mysql地址 -e DB_DATABASE=lsky -e DB_USERNAME=root -e DB_PASSWORD=密码 lskypro/lsky-pro

九、常见坑

  1. 图片403:权限不足、防盗链拦截、网站运行目录没设为/public
  2. 上传失败:PHP上传大小限制、磁盘满、文件夹权限
  3. 链接无法外链:没有HTTPS、防盗链规则拦截、浏览器跨域
posted @ 2026-10-21 03:36  BLOGAME  阅读(9)  评论(0)    收藏  举报