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具有以下特点
1、高稳定性。webman基于workerman开发,workerman一直是业界bug极少的高稳定性socket框架。
2、超高性能。webman性能高于传统php-fpm框架10-100倍左右,比go的gin echo等框架性能高1倍左右。
3、高复用。无需修改,可以复用现有composer生态。
4、高扩展性。支持自定义进程,可以做workerman能做的任何事情。
5、超级简单易用,学习成本极低,代码书写与传统框架没有区别。
6、支持二进制打包,无需PHP环境即可直接运行。
7、使用最为宽松友好的MIT开源协议。
webman安装教程:
环境需求
PHP >= 7.2
Composer >= 2.0
安装PHP+Composer环境(已有环境则跳过)
curl -sO https://www.workerman.net/install-php-and-composer && sudo bash install-php-and-composer
通过以上命令可以快速安装PHP+Composer环境,支持PHP8.0-8.3版本。
也可手动下载webman官方提供的静态PHP,解压即可使用。
1. 创建项目
composer create-project workerman/webman
2. 运行
进入webman目录
windows用户
双击 windows.bat 或者运行 php windows.php 启动
提示
如果有报错,很可能是有函数被禁用,参考函数禁用检查解除禁用
linux用户
调试方式运行(用于开发调试,打印数据会显示在终端,终端关闭后webman服务也随之关闭)
php start.php start
守护进程方式运行(用于正式环境,打印数据不会显示在终端,终端关闭后webman服务会持续运行)
php start.php start -d
提示
如果有报错,很可能是有函数被禁用,参考函数禁用检查解除禁用
3.访问
浏览器访问 http://ip地址:8787
webman目录结构
.
├── app 应用目录
│ ├── controller 控制器目录
│ ├── model 模型目录
│ ├── view 视图目录
│ ├── middleware 中间件目录
│ │ └── StaticFile.php 自带静态文件中间件
│ ├── process 自定义进程目录
│ │ ├── Http.php Http进程
│ │ └── Monitor.php 监控进程
│ └── functions.php 业务自定义函数写到这个文件里
├── config 配置目录
│ ├── app.php 应用配置
│ ├── autoload.php 这里配置的文件会被自动加载
│ ├── bootstrap.php 进程启动时onWorkerStart时运行的回调配置
│ ├── container.php 容器配置
│ ├── dependence.php 容器依赖配置
│ ├── database.php 数据库配置
│ ├── exception.php 异常配置
│ ├── log.php 日志配置
│ ├── middleware.php 中间件配置
│ ├── process.php 自定义进程配置
│ ├── redis.php redis配置
│ ├── route.php 路由配置
│ ├── server.php 端口、进程数等服务器配置
│ ├── view.php 视图配置
│ ├── static.php 静态文件开关及静态文件中间件配置
│ ├── translation.php 多语言配置
│ └── session.php session配置
├── public 静态资源目录
├── runtime 应用的运行时目录,需要可写权限
├── start.php 服务启动文件
├── vendor composer安装的第三方类库目录
└── support 类库适配(包括第三方类库)
├── Request.php 请求类
├── Response.php 响应类
├── helpers.php 助手函数(业务自定义函数请写到app/functions.php)
└── bootstrap.php 进程启动后初始化脚本
webman前台演示图:
webman后台演示图:
官方项目地址:https://www.workerman.net/webman
GitHub: https://github.com/walkor/webman
码云: https://gitee.com/walkor/webman
本文由作者笔名:gitasp 于 2025-01-04 18:09:53发表在本站,原创文章,禁止转载,文章内容仅供娱乐参考,不能盲信。
本文链接: https://www.gitasp.com/kaiyuan/c5729992e9fad42d.html