溫馨提示×

Debian如何監控Laravel應用運行狀態

小樊
45
2025-02-20 08:36:04
欄目: 智能運維

在Debian系統上監控Laravel應用的運行狀態,可以采用以下幾種方法:

  1. 使用Supervisor: Supervisor是一個進程控制系統,可以用來管理和監控后臺進程。你可以使用Supervisor來確保Laravel的隊列監聽器和Web服務器進程始終在運行。

    安裝Supervisor:

    sudo apt-get update
    sudo apt-get install supervisor
    

    創建一個新的Supervisor配置文件來管理Laravel應用:

    sudo nano /etc/supervisor/conf.d/laravel-worker.conf
    

    在配置文件中添加以下內容:

    [program:laravel-worker]
    process_name=%(program_name)s_%(process_num)02d
    command=php /path/to/your/laravel/project/artisan queue:work --sleep=3 --tries=3
    autostart=true
    autorestart=true
    user=your-user
    numprocs=8
    redirect_stderr=true
    stdout_logfile=/path/to/your/laravel/project/storage/logs/worker.log
    stopwaitsecs=3600
    

    更新Supervisor配置并啟動進程:

    sudo supervisorctl reread
    sudo supervisorctl update
    sudo supervisorctl start laravel-worker:*
    
  2. 使用Systemd: Systemd是Linux系統的初始化系統和系統管理守護進程。你可以創建一個Systemd服務單元文件來管理Laravel應用。

    創建一個新的Systemd服務文件:

    sudo nano /etc/systemd/system/laravel-worker.service
    

    在服務文件中添加以下內容:

    [Unit]
    Description=Laravel Queue Worker
    After=network.target
    
    [Service]
    Type=forking
    User=your-user
    Group=your-group
    WorkingDirectory=/path/to/your/laravel/project
    ExecStart=/usr/bin/php /path/to/your/laravel/project/artisan queue:work --sleep=3 --tries=3 --daemon
    ExecReload=/bin/kill -HUP $MAINPID
    PrivateTmp=true
    
    [Install]
    WantedBy=multi-user.target
    

    重新加載Systemd守護進程并啟動服務:

    sudo systemctl daemon-reload
    sudo systemctl start laravel-worker
    sudo systemctl enable laravel-worker
    
  3. 使用Monit: Monit是一個開源的工具,用于管理和監視Unix系統。它可以用來監控進程、文件、目錄和設備。

    安裝Monit:

    sudo apt-get update
    sudo apt-get install monit
    

    創建一個新的Monit配置文件來管理Laravel應用:

    sudo nano /etc/monit/conf.d/laravel-worker
    

    在配置文件中添加以下內容:

    check process laravel-worker with pidfile /path/to/your/laravel/project/storage/framework/pids/worker.pid
        start program = "/usr/bin/php /path/to/your/laravel/project/artisan queue:work --sleep=3 --tries=3 --daemon"
        stop program = "/bin/kill `cat /path/to/your/laravel/project/storage/framework/pids/worker.pid`"
        if failed host 127.0.0.1 port 80 protocol http then restart
        if 5 restarts within 5 cycles then timeout
    

    重新加載Monit配置并啟動監控:

    sudo monit reload
    sudo monit start laravel-worker
    
  4. 使用Laravel的內置功能: Laravel提供了一個內置的任務調度器,可以通過Artisan命令行工具來運行。你可以設置一個Cron作業來定期運行這些任務。

    編輯Cron作業:

    crontab -e
    

    添加以下行來每分鐘運行一次隊列工作:

    * * * * * cd /path/to/your/laravel/project && php artisan queue:work --sleep=3 --tries=3 --daemon
    

選擇適合你需求的方法來監控你的Laravel應用。如果你需要更詳細的監控和報警功能,可能需要考慮使用更專業的監控工具,如New Relic或Datadog。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女