之前有用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选择公开,如果你想让别人访问你的图片