📦 安装部署
ThinkAdmin 是一个基于 ThinkPHP 6 & 8 开发的强大后台管理框架,专为简化后台管理流程而设计。
🚀 框架特点
核心特性
- 基于 ThinkPHP: 基于 ThinkPHP 6 & 8 框架开发
- 后台管理: 专为简化后台管理流程而设计
- 功能丰富: 提供丰富的后台管理功能
- 易于扩展: 支持灵活的扩展和定制
技术优势
- 现代化: 采用现代化的开发技术
- 高性能: 提供高性能的运行效率
- 安全可靠: 注重安全性和可靠性
- 文档完善: 提供完善的开发文档
⚙️ 系统要求
基础要求
- 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-update将 Composer 更新到最新版本!
$ 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,在 Linux 和 MacOS 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 用户)或控制台( Linux 的 Mac 用户)并执行如下命令:
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.12. 通过源码安装:( 默认安装 admin、wechat 两个模块 )
如果需要安装演示系统的旧版本 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如果希望安装其他插件,可以跳转到 插件生态 查看详情。
数据库配置及安装
- 创建空的数据库,其中 Sqlite 不需要创建;
- 将数据库配置到 config/database.php 文件;
注意:数据库参数修改,除了要修改连接参数,还需要切换 default 默认连接名称,如下面的 mysql、sqlite 等。
return [
// 数据库类型
'default' => 'sqlite',
// 数据库连接参数
'connections' => [
'mysql' => [ /* 具体参数省略 */ ],
'sqlite' => [ /* 具体参数省略 */ ],
]
]当前版本是 ThinkAdmin v6.1 ,不需要导入数据库 SQL 脚本,修改数据库配置后执行 php think migrate:run 即可;
注意:如果希望在 PgSQL 上运行,需要先将数据库安装到 MySQL 再使用工具同步到 PgSQL,再配置数据表 ID 主键自增。
运行 PHP 内置服务
本地开发可以直接使用 php -S 内置服务器,不需要配置完整的 Web 服务。
- 方式 1.
>$ php think run// 以debug方式运行(会显示CMD界面及加载日志) - 方式 2.
>$ php think xadmin:queue webstart// 以daemon方式运行(不会显示CMD界面) - 浏览器访问
http://127.0.0.1:8000// 可以使用--port 端口号指定服务端口号
默认账号及初始化
系统默认是没有配置文件存储规则,无法上传文件,需要进入后台配置。
- 1.登录并进入后台,默认账号及密码都为:
admin - 2.进入后台 系统管理->系统参数配置,修改文件上传参数并保存。
- 3.初始化后建议修改系统参数,如:网站名称,版权信息,网站备案号等。
线上生产环境部署
生产环境部署参考 ThinkPHP 官方的文档,建议使用 宝塔面板 管理服务器。
以 Nginx 和 Apache 服务方式运行配置如下:

宝塔集成环境,直接选择 MVC 或 ThinkPHP 默认规则

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


- Apache 服务器配置
httpd.conf配置文件中加载了mod_rewrite.so模块AllowOverride None将None改为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.php$1 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 = 1000Nginx 优化
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。现在可以开始您的开发之旅了!
下一步建议:
