From b93ecde31776052122a30ed1082b969ef7012dc8 Mon Sep 17 00:00:00 2001 From: PeopleSea Date: Mon, 1 Jul 2024 11:39:30 +0800 Subject: [PATCH 1/2] update: install way --- docs/faqs/README.md | 65 +++++++++++++++++++++++++++++------ docs/guide/install/README.md | 66 +++++++++++++++++++++++++----------- 2 files changed, 101 insertions(+), 30 deletions(-) diff --git a/docs/faqs/README.md b/docs/faqs/README.md index 40d5cdd..166eb3c 100644 --- a/docs/faqs/README.md +++ b/docs/faqs/README.md @@ -1,21 +1,28 @@ # 常见问题 ## 怎么升级版本? + 每次升级完最新版本后,请执行更新命令完成SQL语句升级 `php bin/hyperf.php mine:update` ## 菜单添加后页面不显示 + 一般是以下问题造成的: + - 组件路径地址错误,导致页面显示不出来 - 菜单代码标识重复,这个要保证全局唯一 - 菜单路由地址重复,这个要保证全局唯一 ## 前端登录提示“未知错误” + 一般是jwt私有密钥未初始化,执行下面两条命令进行初始化: + - `php bin/hyperf.php mine:jwt-gen --jwtSecret=JWT_SECRET` - `php bin/hyperf.php mine:jwt-gen --jwtSecret=JWT_API_SECRET` ## 上传图片前端不显示 + 打开前端 `config/upload.js`,根据自己情况配置地址 + ```js // 文件存储URL地址 export default { @@ -29,6 +36,7 @@ export default { ``` ## 提示“队列相关功能未开启” + 打开 `App\System\Queue\Consumer\MessageConsumer.php` 搜索文件 把 `//#[Consumer...]` 前面的 `//` 去掉 @@ -36,29 +44,36 @@ export default { 搜索文件 把 `//#[Producer...]` 前面的 `//` 去掉 ## 登录后台白屏没有任何跳转 + 有以下几种可能,请逐一排查 + - `数据库` 或者 `redis` 没有正确配置 -- 没有`真正`的完成安装项目,需要再次运行 `php bin/hyperf mine:install` 命令 -- 检查`.env`文件的`SUPER_ADMIN`的值是否与用户表的超管ID一致 -- 检查用户是否绑定了`角色`,同时角色是否至少绑定了一个`菜单` -- 清除`Redis`缓存 +- 没有 `真正`的完成安装项目,需要再次运行 `php bin/hyperf mine:install` 命令 +- 检查 `.env`文件的 `SUPER_ADMIN`的值是否与用户表的超管ID一致 +- 检查用户是否绑定了 `角色`,同时角色是否至少绑定了一个 `菜单` +- 清除 `Redis`缓存 ## [系统监控]卡死 -请使用`root`账户来启动项目。 + +请使用 `root`账户来启动项目。 ## 为何出现“您访问的资源不存在” + - 确认是否配置了此菜单 - 确认后端路由定义是否存在,并检查是否需要参数 - 确认服务器是否重启 - 确认是否删除 `runtime/container` 目录 ## 超级管理员怎么设置 -超级管理员,也就是创始人,必须在`.env`中的`SUPER_ADMIN`定义 + +超级管理员,也就是创始人,必须在 `.env`中的 `SUPER_ADMIN`定义 ## docker里连不上数据库、Redis -这种情况一般是`数据库`和`redis`安装在`本地(宿主机)` + +这种情况一般是 `数据库`和 `redis`安装在 `本地(宿主机)` 可使用以下命令查看本机ID地址 + - Windows: `ipconfig` - Linux: `ip addr` or `ifconfig` - Mac: `ifconfig` @@ -68,33 +83,43 @@ export default { 或者使用Docker的专用地址:`host.docker.internal` ## 前端是否需要部署在docker里面? + 不需要 ## 安装的SQL文件在哪里? + `MineAdmin`没有使用传统SQL文件安装,而是使用了数据迁移工具进行建表和数据填充工作 -相关的文件在每个模块下的`Database`里 +相关的文件在每个模块下的 `Database`里 ## 前端一些页面不想缓存怎么操作 -目前生成的vue页面里都有两个`script`标签,只需要删掉 `export default { name: 'xxx' }` 这行标签的代码即可不缓存 + +目前生成的vue页面里都有两个 `script`标签,只需要删掉 `export default { name: 'xxx' }` 这行标签的代码即可不缓存 ## 如何开启JWT多点登录 + 在后端 `config/autoload/jwt.php` 里找到下面这行,把 `sso` 改为 `mpop` 即可 + ```php 'login_type' => env('JWT_LOGIN_TYPE', 'sso'), // 登录方式,sso为单点登录,mpop为多点登录 ``` ## 定时任务怎么不执行 + 一般发生在类任务,默认的 `定时清理日志任务` 由于在安装数据时 `\` 被转义了,在后台看到的就是: + - AppSystemCrontabClearLogCrontab 而实际上应该是带有命名空间含义的类地址,带上斜杠后,系统就能找到这个类了。 + - \App\System\Crontab\ClearLogCrontab ## 提示 SSL verify failed + 一般多发生于宝塔用户 #### 首先更新 libopenssl + - **ubuntu/debian** ```bash @@ -113,4 +138,24 @@ sudo yum install libcurl-devel apk add curl-dev ``` -#### 最后重新编译安装 Swoole 即可 \ No newline at end of file +#### 最后重新编译安装 Swoole 即可 + +## 插件安装需知 + +安装插件后请手动重启服务 + +#### 前端不生效 无页面 + +检查 插件配置文件,路径:(/config/autoload/mine-extension.php) 中 + +``` +/* + * The root directory where the front-end code resides. + * + * 前端代码所在根目录. + */ + 'front_directory' => './web/', +``` + + +配置是否正确 是否为当前运行前端目录 diff --git a/docs/guide/install/README.md b/docs/guide/install/README.md index 46ba322..9053cc8 100644 --- a/docs/guide/install/README.md +++ b/docs/guide/install/README.md @@ -1,28 +1,31 @@ # 快速开始 ## 所需环境 -| 环境 | 描述 | 是否必须 | 操作 | -|:--------:|:-------------------------------------------------:|:---------------------------------:|:---------------------------------------------------------------------------------------:| -| Swoole | Swoole >= 5.0 (建议 5.1 以上版本) | 必须 | [安装教程](https://wiki.swoole.com/#/environment) | -| PHP | PHP >= 8.1 | 必须 | - | -| MySql | MySql >= 5.7 | 可选 | 默认自带、无需额外安装 | -| PgSql | PgSql >= 14 | 可选 | [安装教程](https://hyperf.wiki/3.1/#/zh-cn/db/quick-start?id=pgsql-%e9%a9%b1%e5%8a%a8) | -| MsSql | SqlServer Latest | 可选 | [安装教程](https://hyperf.wiki/3.1/#/zh-cn/db/quick-start?id=sql-server-%e9%a9%b1%e5%8a%a8) | -| NodeJs | NodeJs >= 14.18.3 前端开发环境 (包含NPM依赖安装工具) | 必须 | - | -| Composer | Composer >= 2.x.x PHP依赖包安装工具 | 必须 | - | -| Redis | Redis >= 4.0.0 | 必须 | - | -| RabbitMQ | RabbitMQ >= 3.x.x,消息队列所需软件,系统默认未开启队列功能 | 非必须 | - | + +| 环境 | 描述 | 是否必须 | 操作 | +| :------: | :---------------------------------------------------------: | :------: | :--------------------------------------------------------------------------------------: | +| Swoole | Swoole >= 5.0 (建议 5.1 以上版本) | 必须 | [安装教程](https://wiki.swoole.com/#/environment) | +| PHP | PHP >= 8.1 | 必须 | - | +| MySql | MySql >= 5.7 | 可选 | 默认自带、无需额外安装 | +| PgSql | PgSql >= 14 | 可选 | [安装教程](https://hyperf.wiki/3.1/#/zh-cn/db/quick-start?id=pgsql-%e9%a9%b1%e5%8a%a8) | +| MsSql | SqlServer Latest | 可选 | [安装教程](https://hyperf.wiki/3.1/#/zh-cn/db/quick-start?id=sql-server-%e9%a9%b1%e5%8a%a8) | +| NodeJs | NodeJs >= 14.18.3 前端开发环境 (包含NPM依赖安装工具) | 必须 | - | +| Composer | Composer >= 2.x.x PHP依赖包安装工具 | 必须 | - | +| Redis | Redis >= 4.0.0 | 必须 | - | +| RabbitMQ | RabbitMQ >= 3.x.x,消息队列所需软件,系统默认未开启队列功能 | 非必须 | - | ## 开放被禁用的函数 :::tip 开放以下函数 + - putenv - shell_exec - proc_open - pcntl_ 开头的函数 -::: + ::: 或者打开 `php.ini` (命令行版本),查找 `disable_functions` 关键字,复制下面文本,替换原有的: + ``` disable_functions = passthru,system,chroot,chgrp,chown,popen,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,imap_open,apache_setenv ``` @@ -30,6 +33,7 @@ disable_functions = passthru,system,chroot,chgrp,chown,popen,ini_alter,ini_resto ## 关闭Swoole短名称 打开 `php.ini` 在最后一行加入 + ``` swoole.use_shortname = 'Off' ``` @@ -37,40 +41,51 @@ swoole.use_shortname = 'Off' ## 下载代码 ### 下载后端代码 + - 后端Github仓库地址:[Github 后端](https://github.com/kanyxmo/mineadmin) - 后端Gitee仓库地址:[Gitee 后端](https://gitee.com/mineadmin/mineadmin) ### 下载前端代码 + - 前端Github仓库地址:[Github 前端](https://github.com/kanyxmo/mineadmin-vue) - 前端Gitee仓库地址:[Gitee 前端](https://gitee.com/mineadmin/mineadmin-vue) -:::warning 小建议 -可以在后端根目录建一个 web 目录,把前端的源代码放在这个 web 目录下,这样方便更好管理项目 +:::warning 小提示 +安装完成后会提示 `Do you downloading the front-end code to "./web" directory?(yes)` 后会 ./web 创建下载最新前端代码,[需注意](/faqs/#插件安装需知-前端不生效 无页面) ::: ## 后端安装与启动 ### 后端安装 + :::tip 后端安装需要先配置好 env 文件,然后执行 `mine:install` 进行数据迁移 > 如果自行复制 `.env.example` 文件改名成 `.env` 后只需要执行一次,但在用户登录时会出现报错,可参考这里解决:[解决方法](/faqs/#前端登录提示-未知错误) -::: +> ::: - 打开终端,进入到后端根目录,按照以下命令安装后端 + ```sh -# 进入到后端根目录 +# 方式1 + +# 下载或克隆项目后,进入到后端根目录 cd mineadmin # 安装依赖 composer install + +#----------------------------------------------------------------------------------- + +# 方式2 + +composer create-project mineadmin/mineadmin --keep-vcs ``` -1. 执行 `cp .env.example .env` 复制一份 env 配置文件 -2. 配置 .env 内的 `redis` `mysql` `amqp(可选)` 等相关配置 -3. 确认配置完相关配置后,执行`mine:install` 将执行数据迁移 +1. 配置 `redis` `mysql` `amqp` 等相关配置 待显示以下信息,系统已经安装完成。 + ```sh /---------------------- welcome to use -----------------------\ | _ ___ __ _ | @@ -84,12 +99,17 @@ MineAdmin Version: 2.0.0 default username: superAdmin default password: admin123 ``` + ### 启动后端 + 开发环境可以使用热更新方式来启动,在根目录执行下面的启动命令即可 **(生产环境不要用热更新)** + ```sh php watch -c ``` + 官方启动命令: + ```sh php bin/hyperf.php start ``` @@ -101,7 +121,9 @@ php bin/hyperf.php start ## 前端安装与启动 ### 前端安装 + - 打开终端,进入到前端根目录,按照以下命令安装前端依赖 + ```sh # 进入到后端根目录 cd mineadmin-vue @@ -111,17 +133,21 @@ yarn install ``` ### 启动前端 + ```sh yarn dev ``` ### 前端打包 + ```sh yarn build ``` ### 前端预览 + 在前端打包后,可以以web服务器方式预览打包后的兼容性等问题,这是部署前必要的操作。 + ```sh yarn preview -``` \ No newline at end of file +``` -- Gitee From 0968d9fb09e7470861f8bbe2ee34bb59f8442e3a Mon Sep 17 00:00:00 2001 From: PeopleSea Date: Mon, 1 Jul 2024 11:54:13 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=AE=89=E8=A3=85?= =?UTF-8?q?=E6=96=B9=E5=BC=8F=20=EF=BC=8C=E6=96=B0=E5=A2=9E=E6=B3=A8?= =?UTF-8?q?=E6=84=8F=E4=BA=8B=E9=A1=B9=EF=BC=88=E6=8F=92=E4=BB=B6=E5=AE=89?= =?UTF-8?q?=E8=A3=85=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/guide/install/README.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/docs/guide/install/README.md b/docs/guide/install/README.md index 9053cc8..24bb635 100644 --- a/docs/guide/install/README.md +++ b/docs/guide/install/README.md @@ -82,7 +82,13 @@ composer install composer create-project mineadmin/mineadmin --keep-vcs ``` -1. 配置 `redis` `mysql` `amqp` 等相关配置 +1. 配置 `.env` 填写 `redis` `db` 相关信息,保存关闭。 +2. 打开终端,执行安装命令,执行Migrates数据迁移文件和SQL数据填充,完成安装。 + +```shell +php bin/hyperf.php mine:install +``` + 待显示以下信息,系统已经安装完成。 -- Gitee