目录
当前位置: 首页 > 文档资料 > CabalPHP 中文文档 >

进程守护

优质
小牛编辑
116浏览
2023-12-01

建议使用 systemd 管理我们的服务进程。

使用方法

  1. 请确保cabal.php配置文件中的swoole.daemonize配置为关闭状态(0false)!
     'swoole' => [
         // ...
         'daemonize' => 0,
         // ...
     ],
    
  2. /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)哦!

  3. 重新加载 systemd

     sudo systemctl --system daemon-reload
    
  4. 服务管理

     #启动服务
     sudo systemctl start cabal
    
     #reload服务
     sudo systemctl reload cabal
    
     #关闭服务
     sudo systemctl stop cabal
    
     #查看服务状态
     sudo systemctl status cabal
    
  5. 查看服务日志

     # 从头开始看所有日志
     journalctl -u cabal
     # 最后100条
     journalctl -u cabal -n 100
     # 最后100条且跟踪日志(有新日志会立刻输出到屏幕,类似 tail -f / tailf)
     journalctl -u cabal -n 100 -f
    

    journalctl 还有很多其他查询日志的方法,请自行查阅相关文档资料。

至此你的服务就可以稳定的运行啦!