进程守护
建议使用 systemd 管理我们的服务进程。
- 可以参考swoole官方文档
使用方法
- 请确保
cabal.php
配置文件中的swoole.daemonize
配置为关闭状态(0
或false
)!'swoole' => [
// ...
'daemonize' => 0,
// ...
],
在
/etc/systemd/system/
目录中,创建一个cabal.service
文件,添加下列内容(注意修改php和项目路径):[Unit]
Description=Cabal Server
After=network.target
After=syslog.target
[Service]
Type=simple
LimitNOFILE=65535
ExecStart=/usr/local/php/bin/php /data/srv/demo/bin/cabal.php -e prod
ExecReload=/bin/kill -USR1 $MAINPID
Restart=always
[Install]
WantedBy=multi-user.target graphical.target
可以在
Server
下增加两个配置下指定用户(User=xxx
)和用户组(Group=myuser
)哦!重新加载 systemd
sudo systemctl --system daemon-reload
服务管理
#启动服务
sudo systemctl start cabal
#reload服务
sudo systemctl reload cabal
#关闭服务
sudo systemctl stop cabal
#查看服务状态
sudo systemctl status cabal
查看服务日志
# 从头开始看所有日志
journalctl -u cabal
# 最后100条
journalctl -u cabal -n 100
# 最后100条且跟踪日志(有新日志会立刻输出到屏幕,类似 tail -f / tailf)
journalctl -u cabal -n 100 -f
journalctl
还有很多其他查询日志的方法,请自行查阅相关文档资料。
至此你的服务就可以稳定的运行啦!