PHP棘轮Unix关闭并重新打开端口

时间:2016-05-06 11:08:19

标签: php port supervisord ratchet blocked

不知道如何解释,所以我会举一个例子:

操作系统:Debian 7,8 / Centos 7

我们使用supervisord观察并强制重新启动Ratchet服务器,该服务器正在端口上监听服务器之间的通信。

通过cron,有一个Update-Script可以自动将更新推送到棘轮服务器。

为此,Cron脚本正在通过supervisorctl stop ratchet关闭棘轮脚本。

然后更新脚本推送更新的代码,并通过supervisorctl start ratchet再次启动棘轮服务器。

在这个过程中,棘轮关闭了端口,如果棘轮启动,它应该再次启动。

但有时候端口被阻塞了,我们可以看到有一个运行这个端口的php进程 - 但是我们无法连接到这个端口。

另一个奇怪的事情是,Ratchet服务器是通过php cli启动的,如果端口在stop / start之后被supervisorctl阻止,则保存端口的进程从php-cli随机跳转到apachepython ..

首先我们认为它是因为使用过的动态端口 - 但我们现在尝试了不同的端口,问题再次随机出现。

另一个想法是,supervisorctl stop ratchet没有清除停止php进程(棘轮),所以我们决定在服务器本身exit()(什么应该触发所有__destruct()关闭),它没有帮助 - 相同的错误,随机阻塞/使用端口。

有没有人知道如何处理这类问题 - 应该怎样做才能通过php清理关闭并重新打开debian / centos中的端口?

为什么会出现这个问题,为什么端口(不再使用)被随机阻止,直到我们强行打开保持端口打开的进程。

编辑:也许很好知道:如果我们不使用棘轮软件包开销,核心php socket_create和东西......这个随机区块也会出现。

0 个答案:

没有答案