自建EasyImage图床,并配置Twikoo
安装 EasyImage
下载源码
GitHub仓库在:https://github.com/icret/EasyImages2.0
我的服务器在国内,GitHub 访问速度很慢,所以可以本地先下载解压好,然后用 wsl rsync
到服务器
我的文件放在 /var/www/EasyImages2.0-master
配置nginx
创建 /etc/nginx/sites-available/img.diraw.top.conf
内容为:
server { |
非常重要的参数:client_max_body_size 20m;
然后软连接:
sudo ln -s /etc/nginx/sites-available/img.diraw.top.conf /etc/nginx/sites-enabled/ |
sudo nginx -t |
配置php
确认 PHP 版本并检查 PHP-FPM 状态:
php -v |
设置文件权限:
sudo chown -R www-data:www-data /var/www/EasyImages2.0-master |
找到 EasyImage 的配置文件,我的是 /var/www/EasyImages2.0-master/config/config.php
在配置文件中,找到 domain
和 imgurl
字段,将其值从 http://127.0.0.1
修改为域名:
'domain'=>'http://img.diraw.top', |
找到 php.ini
,我的在 /etc/php/8.2/fpm/php.ini
php --ini |
重要的参数:
upload_max_filesize = 20M; 允许上传的最大文件大小 |
重启 PHP-FPM 服务:
sudo systemctl restart php8.2-fpm |
访问网站
打开浏览器,访问 http://img.diraw.top/install
按照向导提示完成安装,安装向导会检测环境,然后引导设置管理员账号和密码
之后配置ssl:
sudo certbot --nginx -d img.diraw.top |
然后更新 EasyImage 应用程序配置为 HTTPS,依然是 /var/www/EasyImages2.0-master/config/config.php
文件,将 domain
和 imgurl
的值修改为 https:
'domain'=>'https://img.diraw.top', |
sudo nginx -t |
配置twikoo
除了记得在 easyimage 后台申请 token,记得后台调整上传文件大小,还有一个非常重要的是,在 EasyImage 的 config.php
找到 'apiStatus'=>0
,把0改成1
我在这里卡了很久,我以为 easyimage 后台申请了 token 就可以用了(应用也没提示还要改参数),如果不改的话,twikoo 会报错 _图片上传失败: EasyImage2.0 上传失败: API 返回错误 (CODE: 201)_
这里的201响应是有问题的,因为图片根本没上传到服务器,这里如果去问AI的话它会觉得连接成功了(HTTP 状态码 201 Created
表示请求已成功,并且由于请求的实现而创建了一个新资源)
后记
折腾了一下午终于弄好了,一开始看网上帖子说直接用宝塔的应用安装,结果一键安装依然和以前一样的问题
之前我也尝试用宝塔一键部署网站,我用宝塔配置的域名总是访问不了(尝试过纯ip访问也不行),而且域名还会被网站上我手动配置的其他网站“截获”
我尝试过这么多次,就没有用宝塔部署成功过,令人不爽