webman 启动流程图及源码执行简述?

嘿嘿

webman 启动流程顺序以及源码的执行简述是怎么个情况?

1572 2 3
2个回答

liziyu

是的,我也没找这方面的学习资料。不过 workerman的讲述有视频。

  • 嘿嘿 2022-03-23

    walkor:希望有个头绪,可以根据个人需求自定义下

walkor

进程启动流程大概是

1、载入config/下的配置
2、设置好Worker的相关配置如 pid_file stdout_file log_file max_package_size 等
3、创建webman进程,并监听端口默认8787
4、创建自定义进程
5、webman进程和自定义进程启动后执行以下逻辑(以下都是执行在onWorkerStart里):

  ① 载入 config/autoload.php 里设置的文件,默认是 app/functions.php
  ② 载入 config/middleware.php (包括config/plugin/*/*/middleware.php)里设置的中间件
  ③ 执行 config/bootstrap.php (包括config/plugin/*/*/bootstrap.php)里设置类的start方法,用于初始化一些模块,比如Laravel数据库初始化连接
  ④ 载入 config/roue.php (包括config/plugin/*/*/route.php)里定义的路由

处理请求流程

1、判断请求url是否对应public下的静态文件,是的话返回文件(结束请求),不是的话进入2
2、根据url判断是否命中某个路由,没命中进入3、命中进入4
3、是否关闭了默认路由,是的话返回404(结束请求),不是的话进入4
4、找到请求对应的中间件,执行前置中间件,执行业务逻辑,执行后置中间件,请求结束。

  • 暂无评论
年代过于久远,无法发表回答
🔝