画布模式 返回首页

部署安装教程

本文档将指引你完成 PicGen 的完整安装部署流程,从环境准备到后台配置一步到位。推荐使用宝塔面板部署,3 分钟即可完成。

环境概览
PHP 8.0+  ·  MySQL 5.7+ / MariaDB 10.3+  ·  Nginx 或 Apache  ·  Web 根目录指向 public/

环境要求

必备环境

组件要求
PHP8.0 或更高版本
MySQL5.7+ 或 MariaDB 10.3+
Web 服务器Nginx 或 Apache
Web 根目录必须指向项目的 public/ 目录

PHP 扩展

pdo_mysql curl mbstring fileinfo gd json openssl zip

建议的 PHP 配置

php.ini
upload_max_filesize = 20M
post_max_size = 30M
max_execution_time = 300
memory_limit = 256M

宝塔面板安装

推荐使用宝塔面板部署 PicGen,以下为完整步骤。

1

创建站点

  1. 登录宝塔面板。
  2. 进入「网站」→「添加站点」。
  3. 填写域名并选择 PHP 8.0 或更高版本。
  4. 数据库可在这里一起创建,也可以后续在安装页填写。
2

上传项目

把整个项目上传到站点目录,例如:

/www/wwwroot/picgen

确认目录下至少包含以下文件:

public/ src/ worker/ config/ database.sql config.example.php
3

设置运行目录

在宝塔站点设置中,把运行目录改为:

/public

最终 Web 根目录应当是:

/www/wwwroot/picgen/public
⚠ 重要
不要把站点根目录直接指向项目根目录,否则 config.phpsrc/worker/ 等文件可能被外部访问,存在安全风险。
4

配置伪静态

Nginx 推荐配置:

nginx
location / {
    try_files $uri $uri/ $uri.php$is_args$args;
}

location ~* ^/uploads/.*\.(php|php5|phtml|phar)$ {
    deny all;
}

Apache 可选配置:

apache
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.+)$ $1.php [L,QSA]
5

安装 PHP 扩展

在宝塔「软件商店」→ PHP 8.0 →「安装扩展」中确认已安装:

pdo_mysql curl fileinfo mbstring gd openssl
6

检查目录权限

以下路径需要 可写权限

config.php config/cloud_storage.php public/uploads/ worker/tmp/ worker/logs/

在宝塔文件管理中,将这些目录和文件的权限设为 755777,所有者为 www

7

打开安装页

浏览器访问:

https://你的域名/setup.php

安装页会引导你完成以下配置:

  • 数据库连接信息
  • 管理员账号创建
  • 系统名称和基础运行参数
  • 图片生成接口配置
  • 存储配置
  • 主题、Logo、底部版权等
8

登录后台

安装完成后访问:

https://你的域名/login

使用安装时设置的管理员账号登录,进入 /admin/settings 完成后续配置。

手动安装

如果不使用宝塔面板,可以按以下步骤手动安装:

1

创建数据库

在 MySQL 中创建数据库,字符集使用 utf8mb4

2

导入数据库结构

database.sql 导入你创建的数据库。

3

创建配置文件

config.example.php 复制为 config.php,修改其中的数据库连接信息。

4

配置 Web 服务器

设置站点运行目录为 public/,配置伪静态规则(同宝塔第 4 步)。

5

访问安装页

访问 /setup.php 或直接登录后台做初始化。

6

检查 Worker

配置并启动 Worker(见下一节),确保生成队列正常运行。

Worker 配置

后台图片生成依赖 Worker 进程,需要常驻运行。

命令行测试

先手动执行一次验证 Worker 是否正常:

bash
php worker/generate_worker.php --once

如果能成功处理任务,说明可以将其设为常驻进程。

宝塔 Supervisor(推荐)

在宝塔「软件商店」安装 Supervisor 管理器,添加守护进程:

supervisor
php worker/generate_worker.php

systemd(手动服务器)

/etc/systemd/system/picgen-worker.service
[Unit]
Description=PicGen Generate Worker
After=network.target mysql.service

[Service]
Type=simple
WorkingDirectory=/www/wwwroot/picgen
ExecStart=/usr/bin/php /www/wwwroot/picgen/worker/generate_worker.php
Restart=always
RestartSec=5
User=www
Group=www

[Install]
WantedBy=multi-user.target

创建后执行:

bash
systemctl daemon-reload
systemctl enable picgen-worker
systemctl start picgen-worker
systemctl status picgen-worker

Worker 状态与日志

worker/tmp/status.json Worker 当前运行状态 worker/logs/sms.log 短信验证码发送日志 worker/logs/mail.log 邮箱验证码发送日志

后台配置简述

安装完成后登录 /admin/settings,以下是关键配置项。

图片接口

配置项说明
图片接口 BASE URLAI 图片生成接口的基础地址
图片接口 API Key接口鉴权密钥
图片生成模型使用的模型名称
Responses 图片模型留空继续走传统接口;填写可走 Responses 方式
前台最大生成张数单次最多生成张数
绘画基础消耗单次生成消耗积分
编辑基础消耗单次编辑消耗积分

运行配置

配置项说明
系统名称全站站点名称
在线充值微信 / 支付宝支付配置 + 套餐管理
图形验证码登录/注册/发验证码需要图形码
实名认证三要素(姓名+身份证+手机号)认证
短信验证码注册/找回密码/安全验证
邮箱验证码同上场景的邮箱验证
Worker 休眠秒数队列空闲时的休眠间隔
生成超时单个生成任务超时时间

云存储配置

系统支持三种图片存储方式:本地文件数据库 base64云存储。生产环境推荐使用云存储。

云存储支持:阿里云 OSS腾讯云 COS七牛云 Kodo

通用字段

字段说明
图片存储方式选择「云存储」
云存储服务商阿里云 OSS / 腾讯云 COS / 七牛云 Kodo
Bucket存储桶名称。腾讯云需填完整名(含 APPID,如 imgcontent-1252487857
Region地域代码。如 cn-hangzhouap-guangzhouz0
AccessKey对应:阿里云 AccessKey ID / 腾讯云 SecretId / 七牛云 AccessKey
SecretKey对应:阿里云 AccessKey Secret / 腾讯云 SecretKey / 七牛云 SecretKey
访问域名图片最终访问域名,支持默认域名或 CDN 自定义域名。不带协议时系统自动补
保存目录前缀建议保留默认 picgen。路径如 picgen/generations/202604/xxx.png
HTTPS 访问建议开启

腾讯云 COS 详细配置

需要填写:

text
云存储服务商:腾讯云 COS
Bucket:imgcontent-1252487857(完整名,含 APPID)
Region:ap-guangzhou
AccessKey:SecretId
SecretKey:SecretKey
访问域名:你的 COS 默认域名或 CDN 域名

各字段在哪里查看:

阿里云 OSS 详细配置

需要填写:

text
云存储服务商:阿里云 OSS
Bucket:my-image-bucket
Region:cn-hangzhou
AccessKey:AccessKey ID
SecretKey:AccessKey Secret
访问域名:你的 OSS 默认域名或 CDN 域名

各字段在哪里查看:

七牛云 Kodo 详细配置

需要填写:

text
云存储服务商:七牛云 Kodo
Bucket:空间名称
Region:z0(z0/z1/z2/na0/as0)
AccessKey:AccessKey
SecretKey:SecretKey
访问域名:空间绑定域名或 CDN 域名
七牛上传地址:上传区域地址

各字段在哪里查看:

建议权限

建议为云存储单独创建子账号或子用户,只授予目标 Bucket / 空间的上传权限,不要使用主账号长期密钥。

配置保存位置

云存储配置保存到 config/cloud_storage.php,不会写入数据库。

外观主题

支持预设主题和自定义主题色、Logo、底部版权 HTML。选择自定义后可直接调整颜色,纯色或渐变皆可。

安装后事项

1

删除安装文件

安装完成后,建议立即删除或禁用以下文件以确保安全:

public/setup.php database.sql
2

安全加固

  • 确保 Web 根目录仅为 public/
  • public/uploads/ 禁止执行 PHP
  • 不要把 config.php、密钥等提交到公开仓库
  • 生产环境开启 HTTPS
  • 生产环境关闭 PHP 直接报错输出
3

确认 Worker 正常运行

访问管理后台首页查看 Worker 状态,或检查 worker/tmp/status.json

4

定期备份

  • 定期备份数据库
  • 定期备份上传图片或云存储
  • 定期检查 Worker 状态
  • 定期检查 worker/logs/ 失败日志
  • 升级前先备份配置文件

常见问题

/login 或 /admin/settings 返回 404

优先检查两件事:站点根目录是否指向 public/;Nginx / Apache 是否已配置伪静态重写。

图片一直排队中

通常是 Worker 没有运行。先执行 php worker/generate_worker.php --once 测试,如果能处理就说明需要把 Worker 设为常驻进程。

短信验证码发不出去

邮箱验证码发不出去

在线充值创建订单失败

支付通道连接失败

实名认证提示失败

安装完成后提示「系统已安装」

这是正常的安全机制。请删除 public/setup.php 以完成收尾。