ThinkAdmin V6 官方文档

📦 安装部署

ThinkAdmin 是一个基于 ThinkPHP8(兼容 ThinkPHP6)开发的强大后台管理框架,专为简化后台管理流程而设计。

🚀 框架特点

核心特性

  • 基于 ThinkPHP: 基于 ThinkPHP8(兼容 ThinkPHP6)框架开发
  • 后台管理: 专为简化后台管理流程而设计
  • 功能丰富: 提供丰富的后台管理功能
  • 易于扩展: 支持灵活的扩展和定制

技术优势

  • 现代化: 采用现代化的开发技术
  • 高性能: 提供高性能的运行效率
  • 安全可靠: 注重安全性和可靠性
  • 文档完善: 提供完善的开发文档

⚙️ 系统要求

基础要求

  • PHP 版本: PHP 7.1 或更高版本(推荐 PHP 8.0+)
  • Composer: 必须安装 Composer 包管理工具
  • 数据库: 支持 Sqlite、MySQL 和 SQL Server
  • Web 服务器: Apache、Nginx 或 PHP 内置服务器

推荐配置

  • PHP 版本: PHP 8.0 或更高版本
  • 内存: 至少 512MB 内存
  • 磁盘空间: 至少 100MB 可用空间
  • 网络: 稳定的网络连接

必需扩展

# 检查 PHP 扩展
php -m | grep -E "(gd|mbstring|openssl|pdo|curl|fileinfo|json|zip)"

# 必需扩展列表
- gd: 图像处理
- mbstring: 多字节字符串处理
- openssl: 加密功能
- pdo: 数据库抽象层
- curl: HTTP 客户端
- fileinfo: 文件类型检测
- json: JSON 处理
- zip: 压缩文件处理

环境检测脚本

<?php
// 环境检测脚本
$requirements = [
 'PHP 版本' => version_compare(PHP_VERSION, '7.1.0', '>='),
 'GD 扩展' => extension_loaded('gd'),
 'MBString 扩展' => extension_loaded('mbstring'),
 'OpenSSL 扩展' => extension_loaded('openssl'),
 'PDO 扩展' => extension_loaded('pdo'),
 'CURL 扩展' => extension_loaded('curl'),
 'FileInfo 扩展' => extension_loaded('fileinfo'),
 'JSON 扩展' => extension_loaded('json'),
 'ZIP 扩展' => extension_loaded('zip'),
];

echo "环境检测结果:\n";
foreach ($requirements as $name => $status) {
 echo $name . ': ' . ($status ? '✅ 通过' : '❌ 失败') . "\n";
}
?>

⚠️ 重要提示

ThinkPHP 8 兼容性

  • 全面兼容: ThinkAdmin 已与 ThinkPHP 8 框架全面兼容
  • 自动升级: 在 PHP 8 环境中执行 composer update 指令,系统会自动升级到 ThinkPHP 8 框架
  • 性能提升: ThinkPHP 8 提供更好的性能和功能

系统升级建议

  • 保留模块: 建议保留原系统的 PaaS 模块
  • 定期更新: 官方会不定期发布插件更新
  • 安全修复: 及时修复系统漏洞
  • 功能增强: 持续增加新功能

个性化定制

  • 内容修改: admin 模块中的显示内容可以修改
  • 参数调整: 可通过调整相关参数进行个性化
  • 主题定制: 支持主题定制功能
  • 界面优化: 可根据需求优化界面展示

运行环境检查

  • 执行 php -v,是否可以看到 PHP 的版本信息?
  • 执行 composer -v 是否可以看到 Composer 的版本信息?
  • 执行 composer self-updateComposer 更新到最新版本!
$ php -v
# 执行 php -v 结果如下为 PHP 8.1.10
> PHP 8.1.10 (cli) (built: Aug 30 2022 18:08:04) (NTS Visual C++ 2019 x64)
> Copyright (c) The PHP Group
> Zend Engine v4.1.10, Copyright (c) Zend Technologies

如果还没有安装 Composer,在 LinuxMacOS X 中可以运行如下命令:

curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer

Windows 中,你需要下载 Composer-Setup.exe,并运行程序进行安装操作。

如果遇到任何问题或者想更深入地学习 Composer,请参考 Composer 文档(英文文档,中文文档)。

温馨提示: 目前国内大部分 Composer 代理镜像不全,使用以下命令移除代理。

// 移除代理镜像
composer config -g --unset repos.packagist

系统下载及安装

下载并进入 ThinkAdmin 目录,运行指令安装依赖组件。

打开命令行窗口( Windows 用户)或控制台( LinuxMac 用户)并执行如下命令:

1. 通过 Composer 安装: ( 推荐方式,默认只安装 admin 模块 )

**创建项目( 需要在英文目录下面执行 )**
composer create-project zoujingli/thinkadmin

**进入项目根目录**
cd thinkadmin

**数据库初始化并安装 **
**默认使用 Sqlite 数据库,若使用其他数据库请修改配置后再执行**
php think migrate:run

**安装微信管理模块**
composer require zoujingli/think-plugs-wechat

**开启PHP内置WEB服务**
**默认后台登录账号及密码都是 admin**
php think run --host 127.0.0.1

2. 通过源码安装:( 默认安装 adminwechat 两个模块 )

如果需要安装演示系统的旧版本 data 模块代码,请跳转到 https://gitee.com/zoujingli/think-plugs-data

**下载项目( 需要在英文目录下面执行 )**
# git clone https://github.com/zoujingli/ThinkAdmin
git clone https://gitee.com/zoujingli/ThinkAdmin

**进入项目根目录**
cd ThinkAdmin

**安装项目依赖组件**
composer install --optimize-autoloader

**数据库初始化并安装**
**默认使用 Sqlite 数据库,若使用其他数据库请修改配置后再执行**
php think migrate:run

**开启PHP内置WEB服务**
**默认后台登录账号及密码都是 admin**
php think run --host 127.0.0.1

如果希望安装其他插件,可以跳转到 插件生态 查看详情。

🗄️ 数据库配置及安装

  1. 创建空的数据库,其中 Sqlite 不需要创建;
  2. 将数据库配置到 config/database.php 文件;

注意:数据库参数修改,除了要修改连接参数,还需要切换 default 默认连接名称,如下面的 mysqlsqlite 等。

return [
 // 数据库类型
 'default' => 'sqlite',
 // 数据库连接参数
 'connections' => [
 'mysql' => [ /* 具体参数省略 */ ], 
 'sqlite' => [ /* 具体参数省略 */ ],
 ] 
]

当前版本是 ThinkAdmin v6.1 ,不需要导入数据库 SQL 脚本,修改数据库配置后执行 php think migrate:run 即可;

注意:如果希望在 PgSQL 上运行,需要先将数据库安装到 MySQL 再使用工具同步到 PgSQL,再配置数据表 ID 主键自增。

🚀 运行 PHP 内置服务

本地开发可以直接使用 PHP 内置服务器,不需要配置完整的 Web 服务。

  • 方式 1.>$ php think run --host 127.0.0.1 // 以 debug 方式运行(会显示 CMD 界面及加载日志)
  • 方式 2.>$ php think xadmin:queue webstart // 以 daemon 方式运行(不会显示 CMD 界面,可用于测试)
  • 浏览器访问 http://127.0.0.1:8000 // 默认端口为 8000,可以使用 --port 端口号 指定服务端口号

说明:

  • php think run 适合开发调试,会显示详细的运行日志
  • php think xadmin:queue webstart 适合快速测试,以守护进程方式运行,不会显示命令行界面
  • 如果需要以守护进程方式运行异步任务,请使用 php think xadmin:queue start 命令(详见 异步任务 文档)

👤 默认账号及初始化

系统默认是没有配置文件存储规则,无法上传文件,需要进入后台配置。

  • 1.登录并进入后台,默认账号及密码都为:admin
  • 2.进入后台 系统管理->系统参数配置,修改文件上传参数并保存。
  • 3.初始化后建议修改系统参数,如:网站名称,版权信息,网站备案号等。

🌐 线上生产环境部署

生产环境部署参考 ThinkPHP 官方的文档,建议使用 宝塔面板 管理服务器。

NginxApache 服务方式运行配置如下:

配置网站路径

宝塔集成环境,直接选择 MVCThinkPHP 默认规则

配置伪静态规则
  • Worker 内存方式运行

以插件 ThinkPlugsWorker 运行以获得更高性能,注意项目端口与 Worker 配置的运行端口需要一致,具体配置如下:

配置启动参数
配置绑定域名
  • Apache 服务器配置
  • httpd.conf 配置文件中加载了mod_rewrite.so模块
  • AllowOverride NoneNone改为All
  • 把下面的内容保存为.htaccess文件放到应用入口文件的同级目录下
<IfModule mod_rewrite.c>
 Options +FollowSymlinks -Multiviews
 RewriteEngine On

 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteRule ^(.*)$ index.php/1ドル [QSA,PT,L]
</IfModule>
  • Nginx 服务器配置
if (!-e $request_filename) {
 rewrite ^(.*)$ /index.php1ドル last;
}
  • IIS 服务器管理
  • 如果你的服务器环境支持ISAPI_Rewrite的话,可以配置httpd.ini文件,添加下面的内容:RewriteRule (.*)$ /index\.php\?s=1ドル [I]
  • IIS的高版本下面可以配置web.Config,在中间添加rewrite节点:

<rewrite>
 <rules>
 <rule name="OrgPage" stopProcessing="true">
 <match url="^(.*)$"/>
 <conditions logicalGrouping="MatchAll">
 <add input="{HTTP_HOST}" pattern="^(.*)$"/>
 <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true"/>
 <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true"/>
 </conditions>
 <action type="Rewrite" url="index.php/{R:1}"/>
 </rule>
 </rules>
</rewrite>

🚀 高级部署

1. Docker 部署

Dockerfile

FROM php:8.1-fpm

# 安装系统依赖
RUN apt-get update && apt-get install -y \
 git \
 curl \
 libpng-dev \
 libonig-dev \
 libxml2-dev \
 zip \
 unzip

# 安装 PHP 扩展
RUN docker-php-ext-install pdo_mysql mbstring exif pcntl bcmath gd

# 安装 Composer
COPY --from=composer:latest /usr/bin/composer /usr/bin/composer

# 设置工作目录
WORKDIR /var/www

# 复制项目文件
COPY . .

# 安装依赖
RUN composer install --no-dev --optimize-autoloader

# 设置权限
RUN chown -R www-data:www-data /var/www
RUN chmod -R 755 /var/www

EXPOSE 9000
CMD ["php-fpm"]

docker-compose.yml

version: '3.8'
services:
 app:
 build: .
 ports:
 - "9000:9000"
 volumes:
 - .:/var/www
 depends_on:
 - db
 - redis

 nginx:
 image: nginx:alpine
 ports:
 - "80:80"
 volumes:
 - .:/var/www
 - ./nginx.conf:/etc/nginx/conf.d/default.conf
 depends_on:
 - app

 db:
 image: mysql:8.0
 environment:
 MYSQL_ROOT_PASSWORD: root
 MYSQL_DATABASE: thinkadmin
 ports:
 - "3306:3306"
 volumes:
 - mysql_data:/var/lib/mysql

 redis:
 image: redis:alpine
 ports:
 - "6379:6379"

volumes:
 mysql_data:

2. 性能优化

PHP-FPM 优化

[www]
user = www-data
group = www-data
listen = /run/php/php8.1-fpm.sock
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 1000

Nginx 优化

server {
 listen 80;
 server_name your-domain.com;
 root /var/www/public;
 index index.php;

 # 开启 Gzip 压缩
 gzip on;
 gzip_vary on;
 gzip_min_length 1024;
 gzip_types text/plain text/css application/json application/javascript;

 # 静态文件缓存
 location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
 expires 1y;
 add_header Cache-Control "public, immutable";
 }

 # PHP 处理
 location ~ \.php$ {
 fastcgi_pass unix:/run/php/php8.1-fpm.sock;
 fastcgi_index index.php;
 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
 include fastcgi_params;
 }

 # 隐藏入口文件
 location / {
 try_files $uri $uri/ /index.php?$query_string;
 }
}

3. 安全配置

文件权限设置

# 设置正确的文件权限
find /var/www -type f -exec chmod 644 {} \;
find /var/www -type d -exec chmod 755 {} \;
chmod -R 777 /var/www/runtime
chmod -R 777 /var/www/public/static

隐藏敏感文件

# .htaccess
<Files "composer.json">
 Order Allow,Deny
 Deny from all
</Files>

<Files ".env">
 Order Allow,Deny
 Deny from all
</Files>

🚨 故障排除

常见问题

问题: 500 内部服务器错误

# 检查错误日志
tail -f /var/log/nginx/error.log
tail -f /var/www/runtime/log/error.log

问题: 数据库连接失败

# 检查数据库服务
systemctl status mysql
mysql -u root -p -e "SHOW DATABASES;"

问题: 文件上传失败

# 检查文件权限
ls -la /var/www/public/static/
php -i | grep upload

恭喜! 您已经成功安装了 ThinkAdmin。现在可以开始您的开发之旅了!

下一步建议:

  1. 📖 阅读 快速开始指南
  2. 🔧 了解 系统架构
  3. 📚 查看 开发文档
  4. 🔌 探索 插件生态
  5. ⭐ 学习 最佳实践
最近更新:
Contributors: 邹景立, Anyon

AltStyle によって変換されたページ (->オリジナル) /