在webman的插件市场里面发现了这个 webman-admin

安装的话很简单,就是在已经安装了 webman 的目录里面执行  composer require -W webman/admin

安装过程提示这些

Using version ^0.6.24 for webman/admin
./composer.json has been updated
Running composer update webman/admin --with-all-dependencies
Loading composer repositories with package information
Updating dependencies
Lock file operations: 34 installs, 0 updates, 0 removals
- Locking brick/math (0.12.1)
- Locking carbonphp/carbon-doctrine-types (2.1.0)
- Locking doctrine/inflector (2.0.10)
- Locking guzzlehttp/guzzle (7.8.1)
- Locking guzzlehttp/promises (2.0.2)
- Locking guzzlehttp/psr7 (2.6.2)
- Locking illuminate/bus (v10.48.2)
- Locking illuminate/collections (v10.48.2)
- Locking illuminate/conditionable (v10.48.2)
- Locking illuminate/container (v10.48.2)
- Locking illuminate/contracts (v10.48.2)
- Locking illuminate/database (v10.48.2)
- Locking illuminate/events (v10.48.2)
- Locking illuminate/macroable (v10.48.2)
- Locking illuminate/pagination (v10.48.2)
- Locking illuminate/pipeline (v10.48.2)
- Locking illuminate/support (v10.48.2)
- Locking intervention/image (2.7.2)
- Locking nesbot/carbon (2.72.3)
- Locking psr/clock (1.0.0)
- Locking psr/http-client (1.0.3)
- Locking psr/http-factory (1.0.2)
- Locking psr/http-message (2.0)
- Locking psr/simple-cache (3.0.0)
- Locking ralouphie/getallheaders (3.0.3)
- Locking symfony/deprecation-contracts (v3.4.0)
- Locking symfony/polyfill-mbstring (v1.29.0)
- Locking symfony/polyfill-php80 (v1.29.0)
- Locking symfony/translation (v6.4.4)
- Locking symfony/translation-contracts (v3.4.1)
- Locking voku/portable-ascii (2.0.1)
- Locking webman/admin (v0.6.24)
- Locking webman/captcha (v1.0.2)
- Locking webman/event (v1.0.5)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 34 installs, 0 updates, 0 removals
- Installing brick/math (0.12.1): Extracting archive
- Installing guzzlehttp/promises (2.0.2): Extracting archive
- Installing ralouphie/getallheaders (3.0.3): Extracting archive
- Installing psr/http-message (2.0): Extracting archive
- Installing psr/http-factory (1.0.2): Extracting archive
- Installing guzzlehttp/psr7 (2.6.2): Extracting archive
- Installing voku/portable-ascii (2.0.1): Extracting archive
- Installing symfony/translation-contracts (v3.4.1): Extracting archive
- Installing symfony/polyfill-mbstring (v1.29.0): Extracting archive
- Installing symfony/deprecation-contracts (v3.4.0): Extracting archive
- Installing symfony/translation (v6.4.4): Extracting archive
- Installing symfony/polyfill-php80 (v1.29.0): Extracting archive
- Installing psr/clock (1.0.0): Extracting archive
- Installing carbonphp/carbon-doctrine-types (2.1.0): Extracting archive
- Installing nesbot/carbon (2.72.3): Extracting archive
- Installing illuminate/macroable (v10.48.2): Extracting archive
- Installing psr/simple-cache (3.0.0): Extracting archive
- Installing illuminate/contracts (v10.48.2): Extracting archive
- Installing illuminate/conditionable (v10.48.2): Extracting archive
- Installing illuminate/collections (v10.48.2): Extracting archive
- Installing doctrine/inflector (2.0.10): Extracting archive
- Installing illuminate/support (v10.48.2): Extracting archive
- Installing illuminate/pipeline (v10.48.2): Extracting archive
- Installing illuminate/bus (v10.48.2): Extracting archive
- Installing illuminate/container (v10.48.2): Extracting archive
- Installing psr/http-client (1.0.3): Extracting archive
- Installing webman/event (v1.0.5): Extracting archive
- Installing webman/captcha (v1.0.2): Extracting archive
- Installing intervention/image (2.7.2): Extracting archive
- Installing illuminate/pagination (v10.48.2): Extracting archive
- Installing illuminate/events (v10.48.2): Extracting archive
- Installing illuminate/database (v10.48.2): Extracting archive
- Installing guzzlehttp/guzzle (7.8.1): Extracting archive
- Installing webman/admin (v0.6.24): Extracting archive
> support\Plugin::install
> support\Plugin::install
> support\Plugin::install
> support\Plugin::install
> support\Plugin::install
> support\Plugin::install
> support\Plugin::install
> support\Plugin::install
> support\Plugin::install
> support\Plugin::install
> support\Plugin::install
> support\Plugin::install
> support\Plugin::install
> support\Plugin::install
> support\Plugin::install
> support\Plugin::install
> support\Plugin::install
> support\Plugin::install
> support\Plugin::install
> support\Plugin::install
> support\Plugin::install
> support\Plugin::install
> support\Plugin::install
> support\Plugin::install
> support\Plugin::install
> support\Plugin::install
> support\Plugin::install
Create config/plugin/webman/event
> support\Plugin::install
> support\Plugin::install
> support\Plugin::install
> support\Plugin::install
> support\Plugin::install
> support\Plugin::install
> support\Plugin::install
Create plugin/admin
17 package suggestions were added by new dependencies, use `composer suggest` to see details.
Generating autoload files
16 packages you are using are looking for funding.
Use the `composer fund` command to find out more!

服务要重新启动一下  php start.php start

由于我们之前将监听端口改为了 127.0.0.1:8787,所以这里可以直接访问  http://127.0.0.1:8787/app/admin

可以看到这样的安装界面

然后就按照这个配置一下,填数据库密码,然后下一步,提示这个

这就配置一下后台用户和密码就行了

好了,提示是需要重启后才能生效。

不过我这里没重启,也能进入后台,看到登录界面。

然后就拿刚刚的用户名称和密码登录进去呗。

然后就是这个后台首页了

随便点了几个页面,感觉后台不错。

这还有个构建表单的页面,挺好

然后我就想这个地方监控了8787端口 ,总不能一直这样访问吧。还是配置个虚拟域名吧。

然后就是老生长谈了。

编辑host  sudo gedit /etc/hosts

增加一行  127.0.0.1 local.webmanadmin.com

增加文件  sudo touch /etc/nginx/sites-available/local.webmanadmin.com.conf

编辑文件内容如下:

server {
listen 80;
index index.php index.html index.htm index.nginx-debian.html;
server_name local.webmanadmin.com;
location / {
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 / "/; secure; HttpOnly; SameSite=strict";
# 执行代理访问真实服务器
proxy_pass http://127.0.0.1:8787;
}
}

来到文件夹  cd /etc/nginx/sites-enabled

设置软链接  sudo ln -s /etc/nginx/sites-available/local.webmanadmin.com.conf local.webmanadmin.com.conf

然后重启 nginx  sudo systemctl restart nginx.service

然后就访问

我发现登录的时候验证码总是提示错误,后来我查了一下 把 nginx 配置里面的这个proxy_cookie_path改了一下

proxy_cookie_path /app/ /;

之后重启nginx  sudo systemctl restart nginx.service

重启webman  php start.php start 就好了。

我以为是这里path的问题,然后我又改回去了,又重新重启,发现登录没问题,感觉这里挺奇怪的,不过还好现在能登录也没问题了。

然后我又经过匿名浏览器的尝试,发现还是验证码有问题。看来这里有缓存啊。

于是又改了配置,发现匿名浏览器验证码也可以了。

最终的配置还是要设置这个path 最终的nginx配置如下:

server {
listen 80;
index index.php index.html index.htm index.nginx-debian.html;
server_name local.webmanadmin.com;
location / {
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 / "/; secure; HttpOnly; SameSite=strict";
proxy_cookie_path /app/ /;
# 执行代理访问真实服务器
proxy_pass http://127.0.0.1:8787;
}
}

有了这个管理后台,开发也算方便了起来,性能上面也能兼顾,蛮好的。

拯救php性能的神器webman-使用后台webman-admin的更多相关文章

  1. 【性能提升神器】STRAIGHT_JOIN

    今天给大家下另一个性能提升神器-STRAIGHT_JOIN,在数据量大的联表查询中灵活运用的话,能大大缩短查询时间. 首先来解释下STRAIGHT_JOIN到底是用做什么的: STRAIGHT_JOI ...

  2. 阿里巴巴开源性能监控神器Arthas初体验

    如果问性能测试中最难的是哪部分,相信很多人会说“性能调优”.确实是这样,性能调优是一个非常复杂.技术含量很高的工作.涉及到的知识面很广.以我多年从业经验来看,在企业里,大多数的性能调优都是由开发架构师 ...

  3. MySQL性能优化神器Explain

    本文涉及:MySQL性能优化神器Explain的使用 简介 虽然使用Explain不能够马上调优我们的SQL,它也不能给予我们一些调整建议,但是它能够让我们了解MySQL 优化器是如何执行SQL 语句 ...

  4. Java性能分析神器--VisualVM Launcher[1]

    Java性能分析神器1--VisualVM Launcher VisualVM 当你日复一日敲代码的时候,当你把各种各样的框架集成到一起的时候,看着大功告成成功运行的日志,有没有那么一丝丝迷茫和惆怅: ...

  5. 阿里巴巴开源性能监控神器Arthas jvm

    原文:https://www.cnblogs.com/testfan2019/p/11038791.html 如果问性能测试中最难的是哪部分,相信很多人会说“性能调优”.确实是这样,性能调优是一个非常 ...

  6. 性能分析神器VisualVM【转】

    性能分析神器VisualVM[转] Posted on 2015-04-17 09:37 WadeXu 阅读(5809) 评论(6) 编辑 收藏 VisualVM 是一款免费的,集成了多个 JDK 命 ...

  7. Part 2:模型与后台管理admin站点--Django从入门到精通系列教程

    该系列教程系个人原创,并完整发布在个人官网刘江的博客和教程 所有转载本文者,需在顶部显著位置注明原作者及www.liujiangblog.com官网地址. Python及Django学习QQ群:453 ...

  8. Redmine后台修改admin密码

    Redmine后台修改admin密码 进入redmine安装目录,假设redmine安装在/var/www/html/redmine/目录下. cd /var/www/html/redmine/scr ...

  9. django后台管理-admin

    0922自我总结 django后台管理-admin 一.模型注册 admin.py 注册方式一: #在对于注册的app中的admin文件中导入模型然后注册模型 admin.site.register( ...

  10. SQL性能优化十条经验,后台程序员都需要掌握

    1.查询的模糊匹配 尽量避免在一个复杂查询里面使用 LIKE '%parm1%'—— 红色标识位置的百分号会导致相关列的索引无法使用,最好不要用. 解决办法: 其实只需要对该脚本略做改进,查询速度便会 ...

随机推荐

  1. 在 Python 中通过读取 .env 文件获得环境变量

    在编写 Python 脚本时,我们会使用一些私密数据,如调用 API 时使用的 token.为了避免隐私泄露,这些私密数据一般不直接写入脚本文件中.而是写入一个文件,并通过读取文件的方式获取私密数据内 ...

  2. Oracle同一台服务器创建多个数据库

    有时候我们需要再同一台机器上创建多个数据库服务(不是单纯的数据库实例),每一个数据库可以有单独的服务运行,只是在一个机器环境而已.可以在不同的端口上监听,也可以在相同端口监听 创建多个数据库步骤 安装 ...

  3. SciPy从入门到放弃

    目录 SciPy简介 拟合与优化模块 求最小值 曲线拟合 线性代数模块 统计模块 直方图和概率密度函数 统计检验 SciPy简介 SciPy是一种以NumPy为基础,用于数学.工程及许多其他的科学任务 ...

  4. MYSQL数据库备份还原,并还原到最新状态(mysqldump)

    启用二进制日志文件 vim /etc/my.cnf 配置文件位置及文件名根据实际情况确定<br>sql_log_bin=on|off:是否记录二进制日志,默认为on 在需要的时候设置为of ...

  5. windows 终端美化

    效果图: 1. 安装 windows terminal 打开 windows 自带的应用商店,安装 windows terminal 1.1 设置 windows terminal 注意:以下设置完成 ...

  6. SaaS架构:流程架构分析

    大家好,我是汤师爷~ 今天聊聊SaaS架构中的流程架构分析. 业务流程的概念 业务流程是企业为实现目标而制定的一套系统化的工作方法.它由一系列有序的业务活动组成,按照既定规则将资源(输入)转化为有价值 ...

  7. 系统编程-进程-fork深度理解、vfork简介

    1. fork基本使用 #include <unistd.h> #include <stdio.h> int main(){ pid_t pid = fork(); if(pi ...

  8. [TK] HH的项链 离线树状数组解法

    实际上这题很难和树状数组联系起来,我感觉效率也不是很高,感觉不是正解 怎么使用树状数组 这道题我们很容易想到一点:同种物品在一个区间内只能出现一次,先不考虑别的问题,我们想出下面这种使用树状数组的思路 ...

  9. php获取支付宝用户信息

    php获取支付宝用户信息 一:创建应用 要在您的应用中使用支付宝开放产品的接口能力: 您需要先去蚂蚁金服开放平台(open.alipay.com),在开发者中心创建登记您的应用,此时您将获得应用唯一标 ...

  10. aarch64 和 ARMV8 的区别

    aarch64 和 ARMv8 是紧密相关但涵义不同的术语,在解释他们的区别之前,让我们先简单理解它们各自的含义: ARMv8: ARMv8 是指 ARM 架构的第八个版本,这是由 ARM Holdi ...