手把手教你入门webman,并且简单搭建webman的nginx代理和负载均衡 ...

打印 上一主题 下一主题

主题 919|帖子 919|积分 2757

webman一共php的常驻内存框架,官方的带数据库查询业务,webman单机吞吐量达到39万QPS,比传统php-fpm架构的laravel框架高出近80倍,性能上十分优秀,该框架已经经过某鹅,某团的业务稳固。
最紧张webman框架开辟方式依旧跟随php开辟的初志简单快捷,接下来我们简单讲一下如何迅速使用webman开辟一个API服务

1.首页我们打开官网https://www.workerman.net/doc/webman/ 选择webman手册。
现在最低版本要求为
PHP >= 7.2
Composer >= 2.0
使用composer 命令进行安排项目
  1. composer create-project workerman/webman
复制代码
windos下面的用户无需禁用php函数,直接在项目根目录的终端运行php windows.php 即可
运行前记得进入config目录下面设置数据库和redis缓存,这内里建议大家使用env库
env库的依赖如下安装后在根目录创建一个.env 的文件,设置内里的参数即可使用
https://www.workerman.net/doc/webman/components/env.html env文档
  1. composer require vlucas/phpdotenv
复制代码
注意由于windows环境下面没办法开启多历程,强烈建议大家的生产环境在linux
linux终端下执行以下命令去掉php的禁用函数
  1. curl -Ss https://www.workerman.net/webman/fix-disable-functions | php
复制代码
如果是宝塔用户也可以去php管理中手动移除

这样直接在linux下面运行以下命令即可
  1. 启动
  2. 以debug(调试)方式启动
  3. php start.php start
  4. 以daemon(守护进程)方式启动
  5. php start.php start -d
  6. 停止
  7. php start.php stop
  8. 重启不守护进程
  9. php start.php restart
  10. 重启后进行守护进程
  11. php start.php restart -d
  12. 平滑重启
  13. php start.php reload
  14. 查看状态
  15. php start.php status
复制代码
这样已经初始版的webman API服务就启动了,如果同一个服务器有两个webman项目做负载的话
请在config目录下的server文件下面修改端口,否则多个端口一样会进行辩说
webman常用的库都在官方的文档内里覆盖了很多常用业务,主要社区十分活跃,根本碰到的问题都可以解决
https://www.workerman.net/doc/webman/
下面是我搭配的一共简单的多项目负载,在原有的官方设置上面加多一共负载功能
  1. ##未负载情况下
  2. upstream webman {
  3.     server 127.0.0.1:8787;
  4.     keepalive 10240;
  5. }
  6. ##负载情况配置 weight 权重越大越优先,max_fails请求失败次数 fail_timeout满足失败次数后不再请求多少秒
  7. upstream webman {
  8.     server 127.0.0.1:8383 weight=3 max_fails=3 fail_timeout=20s;
  9.     server 127.0.0.1:8484 weight=4 max_fails=3 fail_timeout=20s;
  10.     keepalive 10240;
  11. }
  12. server {
  13.   server_name 站点域名;
  14.   listen 80;
  15.   access_log off;
  16.   root /your/webman/public;
  17.   location ^~ / {
  18.       proxy_set_header X-Real-IP $remote_addr;
  19.       proxy_set_header Host $http_host;
  20.       proxy_set_header X-Forwarded-Proto $scheme;
  21.       proxy_http_version 1.1;
  22.       proxy_set_header Connection "";
  23.       if (!-f $request_filename){
  24.           proxy_pass http://webman;
  25.       }
  26.   }
  27. }
复制代码
上面就是介绍webman的API服务,并且做了nginx的简单负载。
该框架是我通过易易文件二维码天生器(https://eema.cn/)的模式放学会的,特别是官方的消息队列组件,满足了我们全部的需求,欢迎大家有什么加入这个大家庭

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

尚未崩坏

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表