多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
### 运行环境 ``` Nignx PHP 8.0(必须) MySQL 5.7(必须) Redis Swoole ``` > 温馨提示:虚拟空间不支持,推荐使用 bt 宝塔面板,服务器推荐阿里云 ecs 或腾讯云 cvm 云服务器。 > PHP扩展安装:fileinfo、redis、swoole、redis ## 一、宝塔一键安装 ( 推荐 ) > 新建站点,上传框架源码,设置访问目录为public,如下图所示 ![](https://img.kancloud.cn/61/0f/610fd77f4c4f4db729de0377bb07b70e_1920x937.png) ![](https://img.kancloud.cn/3a/52/3a52422ac7054fd4ac395b8a34d22d9f_987x823.png) > 访问你的域名即可出现安装页面,如下图所示 ![](https://img.kancloud.cn/49/65/49657703f4417e8ff26553856b63de40_1920x937.png) ![](https://img.kancloud.cn/d6/5d/d65d13fb35b9b8f11a457ece77b37eeb_1920x937.png) ![](https://img.kancloud.cn/c9/6b/c96b8abb5b665953feaa2c314501cb4a_1920x937.png) > 选择默认的宝塔环境安装方式,会出现如下图所示的页面,这里需要关注面板的端口和秘钥。 ![](https://img.kancloud.cn/40/46/4046cfbaa4ccc577f1ff494f4a72a8d1_1920x937.png) > 获取面板秘钥,在宝塔面板的左侧点击面板设置,找到对应的API接口,点击开启,如下图所示。 ![](https://img.kancloud.cn/cc/1c/cc1c36f995c9dc53d54f2d7d21641e73_861x576.png) > 设置IP白名单一定要设置为:**127.0.0.1**。保存之后第一次看不到明文的秘钥,可以关闭之后再打开一次就可以看到了。然后把你当前宝塔面板的地址上的端口号和秘钥填写到如下图所示的地方。 ![](https://img.kancloud.cn/84/25/84250ea6d4c887fa95ded59a5f9fbf31_1435x564.png) ![](https://img.kancloud.cn/3a/88/3a888cd3e1b4a933f12604e55b8e97fd_1920x937.png) > 到这里就基本上完成了,接下来配置你的数据库相关信息和站点相关信息,点击下一步,就可以看到下图成功界面啦。 ![](https://img.kancloud.cn/52/13/521338bc112ec599e485af8d3727b2c4_1920x937.png) ## 二、自定义安装 **重点:** 检查禁用函数,找到PHP的对应版本设置,如下图所示。 ![](https://img.kancloud.cn/50/4a/504a961b134990c4d07c964c47a2c0d8_1920x937.png) 复制下面的每一个函数,然后**Ctrl+F**搜索,如果有搜索到就直接删除即可,如果搜索不到就继续下一个,直到完全搜索不到为止。 > stream\_socket\_server > stream\_socket\_client > pcntl\_signal\_dispatch > pcntl\_signal > pcntl\_alarm > pcntl\_fork > posix\_getuid > posix\_getpwuid > posix\_kill > posix\_setsid > posix\_getpid > posix\_getpwnam > posix\_getgrnam > posix\_getgid > posix\_setgid > posix\_initgroups > posix\_setuid > posix\_isatty > proc\_open > proc\_get\_status > proc\_close > shell\_exec ## 接下来接入正式安装流程 > 1、下载 <a href="https://gitee.com/yc_open/kfadmin-cloud/repository/archive/master.zip" target="_blank"> [ KFAdmin框架 ] </a>框架 > 2、将代码上传至站点根目录并解压,设置站点访问目录为public。 > 3、设置站点的配置文件,如下图所示。 ![KFadmin站点配置文件](https://img.alicdn.com/imgextra/i3/2064565174/O1CN01mjPQ2I1o5k5Y5z0pk_!!2064565174.png) > 在server外部设置(参考上图)。 ``` upstream kfadmin_net { # HPAdmin HTTP Server 的 IP 及 端口 server 127.0.0.1:39600; } ``` > 以下配置在nginx的server内部配置(参考上图)。 ``` location /install/ { try_files $uri $uri/ =404; } # Http location / { # 将客户端的 Host 和 IP 信息一并转发到对应节点 proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 转发Cookie,设置 SameSite proxy_cookie_path / "/; HttpOnly; SameSite=strict"; # 关闭重试机制 proxy_next_upstream off; # 跨域请求 if ($request_method = OPTIONS) { add_header Access-Control-Allow-Origin $http_origin; # 必须要有 add_header Access-Control-Allow-Headers *; # 必须要有 add_header Access-Control-Allow-Methods "GET,POST,PUT, DELETE,OPTION"; # 不加也行 #add_header Access-Control-Allow-Credentials true; # 不加也行 return 200; # 204也可以,只要返回成功码即可 } location ~ .*\.(css|js|jpg|jpeg|png|bmp|swf)$ { proxy_pass http://kfadmin_net; } # 判断是否访问根域名 if ( -e $request_uri) { proxy_pass http://kfadmin_net; break; } # 执行代理访问真实服务器 if ( !-e $request_filename ){ proxy_pass http://kfadmin_net; break; } } ``` > 4、添加宝塔守护进程,进程的运行目录选择你自己刚才创建的站点,见图二。 > ![KFadmin站点配置文件](https://img.alicdn.com/imgextra/i3/2064565174/O1CN017REHUQ1o5k5fY4iKh_!!2064565174.png) ![KFadmin站点配置文件](https://img.alicdn.com/imgextra/i2/2064565174/O1CN01jG86os1o5k5bZu24E_!!2064565174.png) > 5、执行数据配置安装 > > 访问域名,会出现如下步骤,然后根据提示进行安装即可 > ![KFadmin站点配置文件](https://img.alicdn.com/imgextra/i4/2064565174/O1CN01BUh9LH1o5k5VLWiAb_!!2064565174.png) > 如果出现提示相关扩展未安装,就直接安装相关的扩展,然后重启PHP,回来刷新继续安装。 >