# 如何利用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插件,并且安装
# 生成token
找到如图所示界面,构造post请求,把/tokens拼接在上面的url后面,然后把参数填入邮箱和密码,然后发送请求即可,我这边用的是postman
# 填入token,设置插件
其中,
- server则是你设置的图床域名
- Authtoken则是刚刚通过postman获取到的token,但是要<font color = "red">注意在前面填充Bear </font>,如例如:Bearer 1|1bJbwlqBfnggmOMEZqXT5XusaIwqiZjCDs7r1Ob5
- Strategy ID则是对应的存储id,就是对应我们之前设置的存储策略的id,根据需求修改
- 其他不用修改
# 前往typora修改配置



