Swoole服务可通过设置daemonize=1实现守护进程运行,确保后台持续执行不受终端影响。
Swoole 服务可以通过配置使其以守护进程(daemon)方式运行,这样服务会在后台持续运行,不受终端会话影响。实现方式非常简单,只需在创建 Swoole 服务器时设置相关参数即可。
在实例化 Swoole\Server 时,通过设置 daemonize 配置项为 1,可以让服务以守护进程方式运行。
示例代码:
$server = new Swoole\Server("0.0.0.0", 9501);
$server->set([
'daemonize' => 1,
'worker_num' => 4,
'log_file' => '/tmp/swoole.log'
]);
$server->on('receive', function ($server, $fd, $reactorId, $data) {
$server->send($fd, "Swoole:
" . $data);
});
$server->start();
为了确保守护进程稳定运行,还需配合以下配置:
增强版配置示例:
'daemonize' => 1,
'pid_file' => '/tmp/swoole.pid',
'log_file' => '/tmp/swoole.log',
'log_level' => 0,
以守护进程运行后,需通过脚本或命令管理服务生命周期。
常用操作:
可编写简单的 shell 脚本封装这些操作,提升运维效率。
基本上就这些。只要正确设置 daemonize 和日志、PID 文件路径,Swoole 服务就能稳定地以后台守护进程方式运行。不复杂但容易忽略细节。