Ubuntu üzerinde artisan servisi oluşturmak
Kullandığım linux sürümü 18.04 fakat aynı işlemleri centos 7 üzerinde de uyguladım.
ssh bağlantınız veya ubuntu kurulu local pc niz üzerinde terminal üzerinden alttaki komutları girerek işlemlemlere devam edebilirsiniz.
cd /etc/systemd/system/
sudo touch php-queue.service
sudo nano php-queue.service
açılan ekrana alttaki kodları girip ctrl+x tuşları ile çıkış yapın, sizden onay isteyecek y tuşuna basıp enter ile devam edebilirsiniz.
[Unit]
Description=PHP Redis Queue Ticket and Result Worker
After=network.target network-online.target redis.service
Wants=network-online.target
Requires=redis.service
[Service]
Type=forking
User=root
Group=root
ExecStart=/var/www/html/run_services start
ExecStop=/var/www/html/run_services stop
Restart=on-failure
RestartSec=5
# see: https://pagure.io/packaging-committee/issue/191
StartLimitInterval=120s
StartLimitBurst=10
[Install]
WantedBy=multi-user.target
note redis ile işlem yapamayacaksanız yukardaki kod içerisinden "Requires=redis.service" alanını kaldırın ve After satırını "After=network.target network-online.target" olarak düzenleyin
sudo chmod +x php-queue.service
Yukardaki komut ile çalıştırılabilir bir dosya olarak işaretleyelim
cd /var/www/html
yukardaki dizin sizin web sitenizin root dizini olmalı artisan dosyanızın bulunduğu dizin
sudo touch run_services
sudo nano run_services
açılan ekrana alttaki kodları girip ctrl+x tuşları ile çıkış yapın, sizden onay isteyecek y tuşuna basıp enter ile devam edebilirsiniz.
#!/usr/bin/env bash
PROJ_DIR=/var/www/html
# export FEED_PROD=no # for INFO level logging make yes, otherwise no
start() {
echo "Starting services ...."
cd $PROJ_DIR
php artisan queue:work --queue=result,ticket,purgeresult &
echo $! > /tmp/php-artisan-queue-pid
# more commands ...
}
stop() {
echo "Stopping services ...."
kill $(cat /tmp/php-artisan-queue-pid)
rm /tmp/php-artisan-queue-pid
}
case $1 in
start|stop) "$1" ;;
esac
sudo chmod +x run_services
dosya oluşturma ve kod ekleme alanı bu kadar. Şimdi servisi aktif etmek ve bir kaç ayrıntımız var ilk olarak servisi aktif olarak işaretlemek için
sudo systemctl enable php-queue
işletim sisteminde bir servis eklediğimizde veya bir servis de değişiklik yaptığımız da reload işlemi yapmamız gerekir bu komut ise şu şekilde:
sudo systemctl daemon-reload
Artık servisi start ve stop gibi işlemlerimizi yapabiliriz
start komutu:
sudo systemctl start php-queue
stop komutu:
sudo systemctl stop php-queue
start dedikten sonra service listesinde yeni servisimizi görmek isterseniz:
ps -aux | grep php-queue
servis için logları görmek isterseniz:
journalctl -e -u php-queue.service
yukardaki kod içerisinde page up veya page down tuşları ile gezinebilirsiniz. yalnız log kapattığınız da servisinizi kontrol edin çalışmıyor olabilir tekrar start etmeniz gerekebilir.
Umarım işinizi görür
Yorumlar
Yorum yapmak için giriş yapın