之前有用PicGo+github搭建私人图床,但是github必须设置仓库为公共的,担心有隐私安全。所以这回选用兰空图床在阿里云服务器上搭建一个私人图床。
第一步:准备环境
sudo apt update && sudo apt upgrade -y
# 安装 Nginx、MySQL、PHP8.1 及必要扩展
sudo apt install -y nginx mysql-server php8.1 php8.1-fpm php8.1-mysql \
php8.1-curl php8.1-gd php8.1-mbstring php8.1-xml php8.1-zip php8.1-imagick php8.1-bcmath unzip git composer
# 检查 Composer 版本确认安装成功
composer --version
第二步:创建数据库
CREATE DATABASE lsky CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'lskyuser'@'localhost' IDENTIFIED BY 'yourpassword';
GRANT ALL PRIVILEGES ON lsky.* TO 'lskyuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
第三步:下载并部署Lsky Pro
cd /var/www
sudo git clone https://github.com/lsky-org/lsky-pro.git
cd lsky-pro
sudo apt install composer -y
composer install -o
第四步:设置权限
sudo chown -R www-data:www-data /var/www/lsky-pro
sudo chmod -R 755 /var/www/lsky-pro
第五步:配置 Nginx 虚拟主机
sudo vim /etc/nginx/sites-available/lsky
不带 HTTPS(怕麻烦就选这个,不过HTTP不安全)
server {
listen 80;
server_name your-domain.com; # <<< 修改这里:填写你自己的域名
root /var/www/lsky-pro/public; # <<< 修改这里:Lsky Pro 的 public 目录路径
index index.php index.html;
client_max_body_size 5120M; # <<< 设置最大上传文件大小(单位 M,可按需更改)
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.1-fpm.sock; # <<< 修改这里:确保与实际 PHP 版本一致
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}
带HTTPS(需要会配置ssl证书),配置SSL证书的部分博客有提到过阿里云服务器ECS为typecho配置SSL证书 - Astrylia小站
server {
listen 80;
server_name your-domain.com; # <<< 修改这里:填你的域名
return 301 https://$host$request_uri; # 自动跳转到 HTTPS
}
server {
listen 443 ssl http2;
server_name your-domain.com; # <<< 修改这里:填你的域名
root /var/www/lsky-pro/public; # <<< 修改这里:确认 Lsky Pro 解压路径是否一致
index index.php index.html;
ssl_certificate /etc/nginx/cert/your-domain.com.pem; # <<< 修改这里:SSL 证书文件路径
ssl_certificate_key /etc/nginx/cert/your-domain.com.key; # <<< 修改这里:SSL 证书私钥路径
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 5m;
ssl_protocols TLSv1.2 TLSv1.3; # 建议不再使用 TLSv1.1,提升安全性
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256;
ssl_prefer_server_ciphers on;
client_max_body_size 5120M; # <<< 可根据需要设置最大上传文件大小(单位 M)
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.1-fpm.sock; # <<< 修改这里:确认 PHP 版本和路径是否匹配
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}
启用站点并重启:
sudo ln -s /etc/nginx/sites-available/lsky /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl restart nginx
第六步:访问网站开始安装
第七步:兰空图床设置
获取token,获取的token是数字|字符串这种形式,只需要保存字符串
我这里使用postman进行post请求,输入https://你的域名/api/v1
角色组里面可以自定义一些图片上传设置,根据自己喜好设置
用户管理里面可以自定义存储上限
第八步:配置PicGo+兰空图床
picgo插件设置里面搜索兰空图床插件
这里的Server填写自己的域名
Auth token填写格式:Bearer 你的token
Permission选择公开,如果你想让别人访问你的图片