webman 如何关闭默认的http服务

xiaopi

问题描述

目前的项目是使用webman提供TCP服务,由主项目建立TCP客户端来通过ip+端口的方式与webman项目通讯。
如何把webman默认的http服务关闭? 只提供process目录下的TCP服务?

为此你搜索到了哪些方案及不适用的原因

尝试将config/server.php中http的count进程数改为0,发现没有作用。
使用webman的原因是,webman有丰富的文件处理、队列、ORM扩展,上手很快

587 2 2
2个回答

ysxpark

'listen' => 'http://127.0.0.1:port',
应该是关不了的,但不对外开放也差不多
另外你想用只用TCP还想用ORM劝你死了这条心,workerman进程不能做阻塞业务会造成并发性能大幅降低

  • xiaopi 2023-04-22

    这个我不太理解,只要有IO请求,不可避免的会阻塞当前进程,这个我觉得与ORM关系不大吧? 要想提高并发量,我的想法是尽量使用异步任务或者异步队列的方式处理,但是在实际业务中也无法避免需要用到同步的请求操作。所以还是看具体业务吧,如果主项目也提供了TCP服务,那么完全可以workerman都把耗时的IO放到异步中,处理完成以后再推给主项目。

  • walkor 2023-04-22

    看具体业务,长连接业务绝大部分都是连接数高,但是请求量低,例如聊天应用,物联网等。我们有个物联网项目10并发连接,请求量每秒几百,操作orm没任何问题。

  • ysxpark 2023-04-23

    确实,请求量低可以忽略这个问题

walkor

config/server.php 里listen改成空字符串''。后面版本可能会设置成统一用/config/process.php设置http服务

  • workers 2023-04-21

    老大,webman下阶段开发计划是什么?新版本大概什么时候出来

  • liziyu 2023-04-21

    支持老大的决定,建议考虑老版本的平滑升级哦!

  • xiaopi 2023-04-22

    大佬稳,确实可用,listen改成空字符串以后,就不会有http进程监听了

年代过于久远,无法发表回答
🔝