1.在1panel面板安装好OpenResty, Redis 数据库和MySQL 数据库

image-20250406221953334

创建MySQL数据库

image-20250406222728396

2.在1panel面板里创建一个新的PHP运行环境,PHP版本选择:8.2.20

image-20250406195843087

3.安装以下PHP扩展,如果默认列表里没有对应PHP扩展,可以手动输入PHP扩展名进行安装:

curl、fileinfo、ftp、imagick、PDO、openssl、pcntl、redis、zip、pgsql、pdo_pgsql、sqlite3、pdo_sqlite

image-20250406200406896

4.创建站点,上传压缩包并解压到根目录

image-20250406223757003

5.【网站设置】->【网站目录】->将程序的运行目录设置为public->【运行用户组】->点击一下【保存】按钮。

image-20250406224521284

6.点击1panel面板左侧边栏中【网站】,在【伪静态】选项卡的设置框里填入如下信息

location / {
  try_files $uri $uri/ /index.php?$query_string;
}

7.初始化配置

进入1panel终端,在下拉框中选择“/bin/ash”,点击“连接”以后输入如下命令:请注意:以下命令中中的“网址”请用你的网址替代,然后输入“yes”

cd sites/网址/index
php artisan key:generate

image-20250406225337455

8.编辑根目录中的 .env 文件,修改对应的配置值

APP_URL=站点域名(需要 http(s): //,例如 https://pic.iqy.ink)
APP_SERIAL_NO=购买后得到的序列号
APP_SECRET=许可证的密钥
REDIS_HOST=Redis 连接地址(默认为 redis)
REDIS_PASSWORD=xxxx 连接密码(安装Redis设置密码可以在1panel后台查看)
REDIS_PORT=Redis 连接端口(默认为 6379)

image-20250406225856389

【网站设置】->【网站目录】->【运行用户/组】->点击一下【保存】按钮。

9.从浏览器打开你的网址,通过图形界面提示进行安装,这里注意数据库连接地址为"mysql"

image-20250406230312986

命令行配置-重要兰空图床企业版需要通过 phpcli 的方式启动队列、计划任务处理进程,此操作需要登录 1panel容器终端与初始化配置相同操作一下命令

cd sites/网址/index
php artisan queue:work --queue=emails,images,thumbnails

10.最后一步,计划任务配置(重要)

由于1panel 的目前版本暂不支持在容器中安装Supervisor来守护进程,我们使用1panel自带的计划任务功能来实现定期启动进程。新增“SELL 脚本”类型计划任务,选择1分钟执行1次,输入如下命令:
请注意:以下命令中中的“容器全称”和“网址”请用你的容器名和网址替代。

docker exec -i 容器全称 php /www/sites/网址/index/ artisan queue:work --queue=emails,images,thumbnails

新增“SELL 脚本”类型计划任务,选择1分钟执行1次,输入如下命令:
请注意:以下命令中中的“容器全称”和“网址”请用你的容器名和网址替代。

docker exec -i 容器全称 /www/sites/网址/index/artisan schedule:run >> /dev/null 2>&1

image-20250406231804850

接下来为搭建基于NsfwJs的公益鉴黄API

⚠️ 注意事项

仅支持PNG和JPG格式的鉴定!

1.拉取并部署镜像

docker run -p 3000:3000 -d roywangdev/nsfw-api:latest

或者通过 1Panel 创建容器(基本配置)

  1. 进入 1Panel 后台「容器」「创建容器」
  2. 填写基本信息
    • 镜像名称roywangdev/nsfw-api:latest
    • 端口映射3000:3000(主机端口:容器端口)

2.访问并调用

访问 https://IP地址:3000(或网址)/classify 即可调用
结尾必须加上 /classify

image-20250406232523306