首页 折腾记录

前言

日常中经常会使用到图床,但近年来在成本愈加高昂的趋势下,各种图床连连倒闭或是转向付费的行列。
而图床放在别人的手里又不太放心,特别是在本地没有存备份时,如果图床对你储存的图片进行删除,万分捉急却又无可奈何。
因此,搭建自己的图床是最稳妥的方法。但高昂的服务器成本让我们这些咸鱼不得不思考。
所以,利用网盘储存图片是一个不错的方式,稳定性也有所保障。
在此我利用Oneindex配合一台虚拟机搭建图床。

准备

  1. 一台虚拟机,PHP 5.6+ 支持curl
  2. OneDrive 账号 (个人、企业版或教育版/工作或学校帐户)
  3. OneIndex 程序
  • 可选:一个用于图片解析的域名

搭建

  1. 下载 oneindex程序,上传到空间
  2. 进入网页进行安装,见下图。

install

以上图片来自官方Github侵删。
  1. 登入后台 admin 修改密码,默认密码为 oneindex
  2. 选择 nexmoe 主题,自带图片解析链接

20200306_203232.jpg

  1. 图床设置,设为首页,保存。游客上传自行决定,如果个是个人使用的话不建议打开。如果被滥用,就算网盘没事,域名可能遭屏蔽。

20200306_203808.jpg

进阶使用

去除 /?/ 的伪静态设置

Apache 伪静态设置

RewriteEngine On

RewriteCond %{HTTPS} !=on
RewriteRule ^(.*) https://%{SERVER_NAME}/$1 [R,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*) index.php?/$1 [L]

Nginx 伪静态设置

if (!-f $request_filename){
    set $rule_0 1$rule_0;
}
if (!-d $request_filename){
    set $rule_0 2$rule_0;
}
if ($rule_0 = "21"){
    rewrite ^/(.*)$ /index.php?/$1 last;
}

计划任务

[可选]推荐配置,非必需。后台定时刷新缓存,可增加前台访问的速度。

每小时刷新一次token

0 /具体路径/php /程序具体路径/one.php token:refresh

每十分钟后台刷新一遍缓存

/10 * /具体路径/php /程序具体路径/one.php cache:refresh

特殊文件实现功能

README.md、HEAD.md 、 .password特殊文件使用

详情参考这里

在文件夹底部添加说明:

在 OneDrive 的文件夹中添加README.md文件,使用 Markdown 语法。

在文件夹头部添加说明:

在 OneDrive 的文件夹中添加HEAD.md 文件,使用 Markdown 语法。

加密文件夹:

在 OneDrive 的文件夹中添加.password文件,填入密码,密码不能为空。

直接输出网页:

`在 OneDrive 的文件夹中添加index.html 文件,程序会直接输出网页而不列目录。
配合 文件展示设置-直接输出 效果更佳。`

命令行功能请参考官方文档

测试图

测试站关闭,测试图已无。

参考地址:Oneindex




文章评论