本文最后更新于 2024-07-25,

若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益, 请联系我 删除。

本站只有Telegram群组为唯一交流群组, 点击加入

文章内容有误?申请成为本站文章修订者或作者? 向站长提出申请

前言

我的兰空图床一直都是使用docker搭建的,易于迁移和备份。但是最近出了点小问题,于是打算推倒重来,顺便利用redis作为缓存器,于是使用传统的php搭建方法。

准备

本次使用宝塔国际版(aapanel)此版本宝塔无需登录,即开即用,安装脚本

URL=https://www.aapanel.com/script/install_6.0_en.sh && if [ -f /usr/bin/curl ];then curl -ksSO "$URL" ;else wget --no-check-certificate -O install_6.0_en.sh "$URL";fi;bash install_6.0_en.sh aapanel

需要安装好以下的软件和拓展,以及函数解禁

1713729745391.webp

  • 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

安装

  1. 拉取代码:https://github.com/lsky-org/lsky-pro/releases

  2. 将文件上传到宝塔的网站文件夹内释放

  3. 关闭网站跨域保护(XSS)设置文件夹为public,保存。image-fqqv.png

  4. 设置伪静态

    Apache 直接使用程序自带的 .htaccess 即可,无需配置任何参数。nginx需要配置下伪静态,代码如下:

    location / {
      try_files $uri $uri/ /index.php?$query_string;
    }
    
  5. 跳转到绑定的域名即可配置(先要有一条域名并且解析才可以)

    1713730190199.webp

反向代理

宝塔搭建的请参照下文:

以两台服务器为例,如果你需要使用一台服务器作为跳板机(例如CN2线路的服务器)。给网站图片进行加速(正常情况下使用源站的网络足够正常加载图片,感觉负载压力大可以考虑使用aws或者cloudflare的cdn进行缓存)。那么可以按照以下方式进行配置。

A服务器作为图片源站服务器,例如ip地址为188.88.8.88

B服务器作为专线加速跳板服务器,例如IP地址为199.99.9.99

先在A服务器的域名管理处配置上你的图床地址,配置好SSL证书。

1713730656347.webp

接着在B服务器配置上一条同样的域名,配置好同样的SSL证书。

1713730656347.webp

接着在反向代理处填写上你的目标地址,必须是A服务器的IP地址。格式为 https://地址:443

必须使用https+443端口,否则图床无法使用!!

1713730804416.webp

同时在存储策略处设置好你的域名:

https://img.poiblog.com/bRU3Et.webp

保存即可完成配置。

docker搭建的请参照下文:

参考教程:安装及使用

⚠️Nginx Proxy Manager(以下简称NPM)会用到80、443端口,所以本机不能占用(比如原来就有Nginx)

互联网使用请确保完成了域名解析

建议先到dns解析商处将你的ip和子域名进行绑定后,再进行下一步配置操作!

1、修改/config/app.php

'url' => env('APP\_URL', '你的网站链接'), 
'asset\_url' => env('ASSET\_URL', '你的网站链接'),

2、修改/app/Providers/ApServiceProvider.php

第 32 行下面追加一行:

\\Illuminate\\Support\\Facades\\URL::forceScheme('https'); 

3、反代配置中增加一行

proxy\_set\_header X-Forwarded-Host \$http\_host;

常见问题

官方问题解决文档

https://docs.lsky.pro/docs/free/v2/quick-start/questions.html

反代/套CDN后无法加载静态文件(css, js)(以及安装时点击无反应)

编辑 .env 文件,追加一行:

ASSET_URL=https://你的域名

修改/app/Providers/ApServiceProvider.php

第 32 行下面追加一行:

\\Illuminate\\Support\\Facades\\URL::forceScheme('https'); 

Token快捷获取方法

CURL

  • 简洁一点:
    curl -X POST -F "email=your_email@address" -F "password=your_passwd" https://your.domain/api/v1/tokens
    
  • 展开:
    curl --location --request POST 'https://your.domain/api/v1/tokens' \
    --form 'email="your_email@address"' \
    --form 'password="your_passwd"'
    

Shell wget

wget --no-check-certificate --quiet \
  --method POST \
  --timeout=0 \
  --header '' \
  --body-data 'email=your email address&password=password' \
   'https://pic.iqy.ink/api/v1/tokens'