# 如何利用lsky搭建一个图床系统,并且使用picgo配合typora自动上传

# 配置nginx

在配置 Nginx HTTPS 前必须先申请证书,否则 Nginx 会因为找不到 .pem 文件而报错。

# 安装 Certbot

sudo apt update
sudo apt install -y certbot python3-certbot-nginx

# 运行证书申请(自动配置 Nginx)

sudo certbot --nginx

执行后会:

  • 自动处理 80 → 443 跳转
  • 自动生成 SSL 配置
  • 自动写入证书路径(无需手动填写)
  • 自动续期

当你看到:

Congratulations! Your certificate and chain have been saved...

说明证书申请成功。


# 配置 Nginx(手动指定 Lsky Pro 目录)

Certbot 已经生成基础的 HTTPS 配置,现在你只需要 修改 root 和 PHP-FPM 相关部分

打开你的站点配置:

sudo vim /etc/nginx/sites-available/你的域名

将其中的 HTTPS server 段替换为下面内容:


# ✔ Nginx 完整配置(适用于 Lsky Pro)

# 80 端口由 Certbot 自动处理,无需修改
server {
    listen 80;
    listen [::]:80;
    server_name 你的域名;
    return 301 https://$host$request_uri;
}

# 主服务(HTTPS)
server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name 你的域名;

    # Certbot 自动生成的证书路径(已存在)
    ssl_certificate /etc/letsencrypt/live/你的域名/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/你的域名/privkey.pem;
    include /etc/letsencrypt/options-ssl-nginx.conf;
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;

    # Lsky Pro 的 public 目录
    root /var/www/lsky/public;
    index index.php index.html;

    # 入口路由
    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    # PHP 处理(根据版本调整 php8.x-fpm)
    location ~ \.php$ {
        fastcgi_pass unix:/run/php/php8.1-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }

    # 限制上传大小(可按需调整)
    client_max_body_size 50M;
}

# 启用站点(如未启用)

sudo ln -s /etc/nginx/sites-available/你的域名 /etc/nginx/sites-enabled/

# 检查 Nginx 配置

sudo nginx -t

如果输出:

syntax is ok
test is successful

说明配置无误。

# 重启 Nginx

sudo systemctl restart nginx

# 安装Lsky pro(本地PHP-FPM方案)

# 安装 PHP + 必须拓展

Lsky Pro 是基于 Laravel,需要完整的 PHP 扩展。

安装 PHP 8.1(推荐版本):

sudo apt update
sudo apt install -y \
php php-fpm php-cli php-common \
php-mbstring php-xml php-json php-zip php-gd \
php-curl php-mysql php-sqlite3 php-redis php-fileinfo \
unzip git

检查版本:

php -v

你看到:

PHP 8.1.x

即可。

⚠️ 注意:
如果你安装的是 PHP 8.2 或 7.4,只需要在 Nginx 中修改 fastcgi_pass 就行,不影响 Lsky Pro 运行。

# 下载Lsky Pro

我是准备放到/var/www/lsky中,因此我选择执行命令

cd /var/www/ lsky
sudo git clone https://github.com/lsky-org/lsky-pro.git 

# 安装Composer

cd ~
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php
sudo mv composer.phar /usr/local/bin/composer

建议可以切换国内镜像:

composer config -g repo.packagist composer https://mirrors.cloud.tencent.com/composer/

然后再执行

sudo composer install --no-dev -o

测试是否安装成功:

composer -V

你应该看到:

Composer version 2.x.x

如果看到这个,表示 OK。

# 使用 Composer 安装依赖

然后进入进入 Lsky Pro 目录,再安装依赖

cd /var/www/lsky
sudo composer install --no-dev -o

跟着指引输入yes即可,如果成功则会在文件夹下看到vendor目录,这是 Laravel 必须的。

# 生成 APP_KEY(非常重要)

git clone 版本不会自动生成 APP_KEY,否则 Laravel 会发生 500 错误。

执行:

cd /var/www/lsky
sudo php artisan key:generate

你应该看到:

Application key set successfully.

检查:

grep APP_KEY /var/www/lsky/.env

应该出现:

APP_KEY=base64:xxxxxxx=

# 设置 storage、bootstrap 缓存目录权限

Laravel 需写入权限:

sudo chown -R www-data:www-data /var/www/lsky
sudo chmod -R 755 /var/www/lsky
sudo chmod -R 777 /var/www/lsky/storage
sudo chmod -R 777 /var/www/lsky/bootstrap/cache

⚠️ 这是常见报错点(permission denied)。

# 配置env

如果还没有 .env 文件,复制模板:

cd /var/www/lsky
sudo cp .env.example .env

然后运行 Lsky Pro 安装界面(网页界面)后,系统会自动写入 .env

你不需要手动编辑,除非你想自定义数据库。

# 重启服务

sudo systemctl restart php8.1-fpm
sudo systemctl restart nginx

# 浏览器访问安装界面

访问:自己对应的域名

https://你自己的域名

你就会看到 Lsky Pro 安装向导。

# 配置 Lsky Pro 安全与权限

# 完善运行环境(安装缺失的 PHP 扩展)

若安装界面提示缺少扩展(如 BCMath、Imagick),则需要按提示安装。

① 安装 Imagick(图片处理扩展)

sudo apt update
sudo apt install -y php-imagick
sudo systemctl restart php8.1-fpm

刷新页面即可看到 Imagick 变成绿色 ✔。

② 安装 BCMath(高精度数学扩展)

sudo apt install -y php-bcmath
sudo systemctl restart php8.1-fpm

刷新后 BCMath 会变为绿色 ✔。

# 配置 SQLite 数据库(推荐方案)

SQLite 无需安装数据库服务,非常适合个人图床。

① 创建 SQLite 数据库文件

Lsky Pro 默认不会自动创建数据库文件。
手动创建即可:

sudo touch /var/www/lsky/storage/lsky.sqlite

② 确认路径填写正确

在安装界面中的数据库路径填写:

/var/www/lsky/storage/lsky.sqlite

③ 填写管理员账号

例如:

  • 管理员邮箱:xxx@xxx.com

  • 管理员密码:自己设置即可

无需填写数据库账号密码(SQLite 不需要)。

# 设置正确权限(非常重要,避免安装报错)

Lsky Pro(Laravel)需要对 storage 和 cache 目录有写入权限,并需要创建软链接。

请执行以下命令:

① 授权 storage 与 cache(写权限)

sudo chown -R www-data:www-data /var/www/lsky/storage
sudo chown -R www-data:www-data /var/www/lsky/bootstrap/cache
sudo chmod -R 775 /var/www/lsky/storage
sudo chmod -R 775 /var/www/lsky/bootstrap/cache

② 应用目录权限(解决 symlink 权限问题)

确保 Laravel 能在 public 目录中创建软链接:

sudo chown -R www-data:www-data /var/www/lsky
sudo chmod -R 775 /var/www/lsky

③ 手动创建 storage 软链接(防止安装时报 symlink 错误)

有些系统无法自动完成该步骤,一次手动执行即可:

cd /var/www/lsky
sudo php artisan storage:link

若无报错,则会显示:

The [public/storage] directory has been linked.

# 完成安装

权限与数据库路径确认无误后,刷新安装页面,点击: 「立即安装」

正常情况下会依次显示:

  • Dropping tables ✔
  • Running migrations ✔
  • Seeding ✔
  • 配置成功 ✔

安装完成后进入后台。

# 设置存储策略(本地存储 / 对象存储)

# 进入后台(Admin Panel)

右上角 → 登录
使用你安装时填写的管理员账户。


# 进入「存储策略」➡ 添加本地策略

路径:

后台 → 存储策略 → 添加

选择:

# ✔「本地存储」

然后填写:

# 存储目录(绝对路径):

sudo mkdir -p /var/www/lsky/storage/app/blog

(推荐用这个路径,权限最不容易出问题)

# 外链访问域名:

https://你自己的域名

# URL 前缀:

/blog

最终图片访问 URL 将自动变成:

https://你自己的域名/blog

# 设置权限(上传文件必须要的)

执行:

sudo chown -R www-data:www-data /var/www/lsky/storage/app/blog
sudo chmod -R 775 /var/www/lsky/storage/app/blog

# 4. 启用该存储策略

进入后台:

存储策略 → 启用
设置为默认

# 回到前台再看上传页面

现在你会看到:

  • 上传框正常
  • 支持拖拽
  • 能上传图片

选择一张图片上传,应该即可成功。

# Windows 安装 PicGo + 配置 Lsky Pro 图床

# 下载 PicGo(Windows)

PicGo 官方下载地址:

PicGo v2.3.1(Windows 版)
https://github.com/Molunerfinn/PicGo/releases

下载 PicGo-Setup-x.x.x.exe → 双击安装。

# 打开picgo找到插件设置,搜索lankong插件,并且安装

Snipaste_2025-11-23_16-10-14.png

# 生成token

找到如图所示界面,构造post请求,把/tokens拼接在上面的url后面,然后把参数填入邮箱和密码,然后发送请求即可,我这边用的是postman

Snipaste_2025-11-23_16-10-14.png

# 填入token,设置插件

image-20251123164954778

其中,

  • server则是你设置的图床域名
  • Authtoken则是刚刚通过postman获取到的token,但是要<font color = "red">注意在前面填充Bear </font>,如例如:Bearer 1|1bJbwlqBfnggmOMEZqXT5XusaIwqiZjCDs7r1Ob5
  • Strategy ID则是对应的存储id,就是对应我们之前设置的存储策略的id,根据需求修改
  • 其他不用修改

# 前往typora修改配置

image-20251123165306654

# 到这里,每次在typora中粘贴图片都会自动上传图片,完成了图床系统的搭建以及写博客时候的自动上传了