webman 启动流程顺序以及源码的执行简述是怎么个情况?
是的,我也没找这方面的学习资料。不过 workerman的讲述有视频。
workerman
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、找到请求对应的中间件,执行前置中间件,执行业务逻辑,执行后置中间件,请求结束。
是的,我也没找这方面的学习资料。不过
workerman
的讲述有视频。walkor:希望有个头绪,可以根据个人需求自定义下
进程启动流程大概是
1、载入config/下的配置
2、设置好Worker的相关配置如 pid_file stdout_file log_file max_package_size 等
3、创建webman进程,并监听端口默认8787
4、创建自定义进程
5、webman进程和自定义进程启动后执行以下逻辑(以下都是执行在onWorkerStart里):
处理请求流程
1、判断请求url是否对应public下的静态文件,是的话返回文件(结束请求),不是的话进入2
2、根据url判断是否命中某个路由,没命中进入3、命中进入4
3、是否关闭了默认路由,是的话返回404(结束请求),不是的话进入4
4、找到请求对应的中间件,执行前置中间件,执行业务逻辑,执行后置中间件,请求结束。