PHPスクリプトまたはワーカーをSystemdサービスとして実行する方法
2023年9月24日に投稿、2023年9月28日に更新
Systemdは、PHPスクリプトをサービスとして実行するまたはワーカーを設定する最良の方法の一つです。私は同一サーバー上で複数のワーカーを設定するために使っており、問題なく動作します。ワーカーを実行するためにsupervisorをインストールする必要はありません。
この記事では、Linux上でサービスを設定する手順について段階的に説明しています。
ステップ1: サービスの名前を決めます。将来覚えやすいようにアプリケーションや使用ケースに関連付けた名前を選びます。
ステップ2: 選んだ名前でサービスファイルを作成します。
sudo touch /etc/systemd/system/worker-name-service.service
ステップ3: ファイルを編集し、サービス情報を追加してファイルを保存します。
sudo nano /etc/systemd/system/worker-name-service.service
[Unit]
Description=My App Notification Worker
After=network.target
[Service]
User=root
Group=www-data
Restart=always
WorkingDirectory=/var/www/html/path-to-worker
ExecStart=/usr/bin/php artisan queue:work
[Install]
WantedBy=multi-user.target
ステップ4: systemdデーモンを再読み込みして、新しいサービスが認識されるようにします。
sudo systemctl daemon-reload
ステップ5: 新しいサービスを有効にします。
sudo systemctl enable worker-name-service
ステップ6: 新しいサービスを開始します。
sudo systemctl start worker-name-service
ステップ7: サービスの状態を確認し、動作していることを確かめます。
sudo systemctl status worker-name-service
緑色のライトが表示されていれば、ワーカーやPHPスクリプトをsystemdサービスとして正常に設定できたことになります。
もともと私の個人ブログに投稿されました。
こちらの記事はdev.toの良い記事を日本人向けに翻訳しています。
https://dev.to/iam_krishnan/running-a-php-script-or-worker-as-a-systemd-service-pf7