前言
我的兰空图床一直都是使用docker搭建的,易于迁移和备份。但是最近出了点小问题,于是打算推倒重来,顺便利用redis作为缓存器,于是使用传统的php搭建方法。
准备
本次使用宝塔国际版([链接登录后可见])此版本宝塔无需登录,即开即用,安装脚本
代码登录后可见
需要安装好以下的软件和拓展,以及函数解禁
- PHP >= 8.0.2
- BCMath PHP 扩展
- Ctype PHP 扩展
- DOM PHP 拓展
- Fileinfo PHP 扩展
- JSON PHP 扩展
- Mbstring PHP 扩展
- OpenSSL PHP 扩展
- PDO PHP 扩展
- Tokenizer PHP 扩展
- XML PHP 扩展
- Imagick 拓展
- Redis PHP 拓展
- exec、shell_exec 函数
- readlink、symlink 函数
- putenv、getenv 函数
- nginx 1.24 或者apache 2.4
安装
拉取代码:[链接登录后可见]
将文件上传到宝塔的网站文件夹内释放
关闭网站跨域保护(XSS)设置文件夹为public,保存。
设置伪静态
Apache 直接使用程序自带的 .htaccess 即可,无需配置任何参数。nginx需要配置下伪静态,代码如下:
代码登录后可见
跳转到绑定的域名即可配置(先要有一条域名并且解析才可以)
反向代理
宝塔搭建的请参照下文:
以两台服务器为例,如果你需要使用一台服务器作为跳板机(例如CN2线路的服务器)。给网站图片进行加速(正常情况下使用源站的网络足够正常加载图片,感觉负载压力大可以考虑使用aws或者cloudflare的cdn进行缓存)。那么可以按照以下方式进行配置。
A服务器作为图片源站服务器,例如ip地址为188.88.8.88
B服务器作为专线加速跳板服务器,例如IP地址为199.99.9.99
先在A服务器的域名管理处配置上你的图床地址,配置好SSL证书。
接着在B服务器配置上一条同样的域名,配置好同样的SSL证书。
接着在反向代理处填写上你的目标地址,必须是A服务器的IP地址。格式为 代码登录后可见
必须使用https+443端口,否则图床无法使用!!
同时在存储策略处设置好你的域名:
保存即可完成配置。
docker搭建的请参照下文:
参考教程:[链接登录后可见]
⚠️Nginx Proxy Manager(以下简称NPM)会用到80、443端口,所以本机不能占用(比如原来就有Nginx)
互联网使用请确保完成了域名解析
建议先到dns解析商处将你的ip和子域名进行绑定后,再进行下一步配置操作!
1、修改/config/app.php
代码登录后可见
2、修改/app/Providers/ApServiceProvider.php
第 32 行下面追加一行:
代码登录后可见
3、反代配置中增加一行
代码登录后可见
常见问题
官方问题解决文档
[链接登录后可见]
反代/套CDN后无法加载静态文件(css, js)(以及安装时点击无反应)
编辑 .env 文件,追加一行:
代码登录后可见
修改/app/Providers/ApServiceProvider.php
第 32 行下面追加一行:
代码登录后可见
Token快捷获取方法
CURL
Shell wget
代码登录后可见