前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >webman实战教程:webman-admin管理后台篇

webman实战教程:webman-admin管理后台篇

作者头像
Tinywan
发布2023-10-22 18:58:04
1.8K0
发布2023-10-22 18:58:04
举报
文章被收录于专栏:开源技术小栈开源技术小栈

什么是webman

webman是一款基于workerman开发的高性能HTTP服务框架。webman用于替代传统的php-fpm架构,提供超高性能可扩展的HTTP服务。你可以用webman开发网站,也可以开发HTTP接口或者微服务。

除此之外,webman还支持自定义进程,可以做workerman能做的任何事情,例如websocket服务、物联网、游戏、TCP服务、UDP服务、unix socket服务等等。

webman理念

以最小内核提供最大的扩展性与最强的性能。

webman仅提供最核心的功能(路由、中间件、session、自定义进程接口)。其余功能全部复用composer生态,这意味着你可以在webman里使用最熟悉的功能组件,例如在数据库方面开发者可以选择使用Laravel的illuminate/database,也可以是ThinkPHP的ThinkORM,还可以是其它组件如Medoo。在webman里集成他们是非常容易的事情。

webman与go语言的web框架压测对比(带数据库业务)

webman具有以下特点

  1. 高稳定性。webman基于workerman开发,workerman一直是业界bug极少的高稳定性socket框架。
  2. 超高性能。webman性能高于传统php-fpm框架10-100倍左右,比go的gin/echo等框架性能高一倍左右。
  3. 高复用。无需修改,可以复用绝大部分composer组件及类库。
  4. 高扩展性。支持自定义进程,可以做workerman能做的任何事情。
  5. 超级简单易用,学习成本极低,代码书写与传统框架没有区别。
  6. 使用最为宽松友好的MIT开源协议。

webman-admin

webman-admin 是webman官方推出的一个基于webman+pear-admin-layui 开发的管理后台。支持权限设置、菜单生成(一键curd)、支持插件市场等。

安装 webman

环境需求

  • PHP >= 7.2
  • Composer >= 2.0

1、创建项目

代码语言:javascript
复制
composer create-project workerman/webman tinywan-cms

2、运行项目

进入tinywan-cms目录

代码语言:javascript
复制
cd tinywan-cms
windows用户

双击 windows.bat 或者运行 php windows.php 启动

提示如果有报错,很可能是有函数被禁用,参考函数禁用检查解除禁用

linux用户

debug方式运行(用于开发调试)

代码语言:javascript
复制
php start.php start

daemon方式运行(用于正式环境)

代码语言:javascript
复制
php start.php start -d

提示如果有报错,很可能是有函数被禁用,参考函数禁用检查解除禁用

启动成功后终端

3、访问项目

浏览器访问 http://http://127.0.0.1:8787/。打开以下界面标识安装成功

安装webman-admin

安装应用插件webman/admin

进入到webman目录下执行以下命令

代码语言:javascript
复制
composer require -W webman/admin
代码语言:javascript
复制
$ composer require -W webman/admin --ignore-platform-req=ext-fileinfo
./composer.json has been updated
Running composer update webman/admin --with-all-dependencies
Loading composer repositories with package information
Updating dependencies
Lock file operations: 38 installs, 1 update, 0 removals
  - Installing guzzlehttp/promises (2.0.1): 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.1): Extracting archive
  - Installing voku/portable-ascii (1.6.1): Extracting archive
  - Installing symfony/translation-contracts (v2.5.2): Extracting archive
  - Installing symfony/polyfill-php80 (v1.28.0): Extracting archive
  - Installing symfony/polyfill-mbstring (v1.28.0): Extracting archive
  - Installing symfony/deprecation-contracts (v2.5.2): Extracting archive
  - Installing symfony/translation (v5.4.24): Extracting archive
  - Installing psr/clock (1.0.0): Extracting archive
  - Installing nesbot/carbon (2.71.0): Extracting archive
  - Installing illuminate/macroable (v8.83.27): Extracting archive
  - Installing psr/simple-cache (1.0.1): Extracting archive
  - Downgrading psr/container (2.0.2 => 1.1.2): Extracting archive
  - Installing illuminate/contracts (v8.83.27): Extracting archive
  - Installing illuminate/collections (v8.83.27): Extracting archive
  - Installing doctrine/inflector (2.0.8): Extracting archive
  - Installing illuminate/support (v8.83.27): Extracting archive
  - Installing illuminate/pipeline (v8.83.27): Extracting archive
  - Installing illuminate/bus (v8.83.27): Extracting archive
  - Installing illuminate/container (v8.83.27): Extracting archive
  - Installing psr/http-client (1.0.3): Extracting archive
  - Installing symfony/polyfill-intl-normalizer (v1.28.0): Extracting archive
  - Installing symfony/polyfill-intl-grapheme (v1.28.0): Extracting archive
  - Installing symfony/polyfill-ctype (v1.28.0): Extracting archive
  - Installing symfony/string (v5.4.29): Extracting archive
  - Installing symfony/service-contracts (v2.5.2): Extracting archive
  - Installing symfony/polyfill-php73 (v1.28.0): Extracting archive
  - Installing symfony/console (v5.4.28): Extracting archive
  - Installing webman/event (v1.0.4): Extracting archive
  - Installing webman/captcha (v1.0.2): Extracting archive
  - Installing intervention/image (2.7.2): Extracting archive
  - Installing illuminate/pagination (v8.83.27): Extracting archive
  - Installing illuminate/events (v8.83.27): Extracting archive
  - Installing illuminate/database (v8.83.27): Extracting archive
  - Installing guzzlehttp/guzzle (7.8.0): Extracting archive
  - Installing webman/admin (v0.6.18): Extracting archive
Create plugin/admin
26 package suggestions were added by new dependencies, use `composer suggest` to see details.
Generating autoload files
21 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
No security vulnerability advisories found
Using version ^0.6.18 for webman/admin

安装后需要restart重启webman。

注意:虽然本页面可以下载源码,但是推荐用composer安装,因为可以自动安装webman-admin的相关依赖。

访问

访问 http://127.0.0.1:8787/app/admin 会自动进入安装页面,设置数据库及管理员账户.

系统安装

配置数据库

超级管理员设置

安装完成

系统登录

系统预览

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-10-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 开源技术小栈 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么是webman
  • webman理念
  • webman具有以下特点
  • webman-admin
    • 安装 webman
      • 环境需求
      • 1、创建项目
      • 2、运行项目
      • 3、访问项目
      • 安装应用插件webman/admin
      • 访问
  • 安装webman-admin
    • 系统安装
      • 配置数据库
      • 超级管理员设置
      • 安装完成
      • 系统登录
      • 系统预览
相关产品与服务
消息队列 TDMQ
消息队列 TDMQ (Tencent Distributed Message Queue)是腾讯基于 Apache Pulsar 自研的一个云原生消息中间件系列,其中包含兼容Pulsar、RabbitMQ、RocketMQ 等协议的消息队列子产品,得益于其底层计算与存储分离的架构,TDMQ 具备良好的弹性伸缩以及故障恢复能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档