Halo, kalau kamu merasa tulisan saya ngebantu kamu, kamu bisa ucapkan terima kasih lewat saweria .

Hello, if you find this article helpful, you can express your gratitude through saweria .



Catatan

  1. Laravel Octane hanya bisa di install di Laravel di versi >= 10.xx ke

  2. Versi PHP yang digunakan >= PHP 8.1

How To

Menggunakan php artisan octane:start

  1. Tambahkan package Octane ke composer.json composer require laravel/octane

  2. Jalankan php artisan octane:install untuk menambahkan config octane ke project

  3. Untuk menjalankan project menggunakan Octane, gunakan php artisan octane:start. Disini kamu akan ditanya, bila kamu belum menginstall Octane runner, ada RoadRunner, FrankenPHP & Openswoole, disini saya biasa menggunakan RoadRunner.

    a. Bila kamu menggunakan cara di atas, maka Octane runner akan terinstall di project kamu

    b. Kamu juga bisa menginstall binary Octane runner agar tidak perlu menginstall RoadRunner di semua project satu persatu

    
    curl --proto '=https' --tlsv1.2 -sSf  https://raw.githubusercontent.com/roadrunner-server/roadrunner/master/download-latest.sh | sh
    #di sini akan mendownload versi roadrunner-2024.1.4-linux-amd64.tar.gz
    tar -xvf roadrunner-2024.1.4-linux-amd64.tar.gz
    
    sudo mv roadrunner-2024.1.4-linux-amd64/rr /usr/bin/rr
    
    sudo rm -rfv roadrunner-2024*
    
  4. Jalankan php artisan octane:start

    Beberapa fitur/menu di php artisan octane:start

    a. Specify workers php artisan octane:start --workers=4. Default nya Octane bakal menggunakan semua core CPU kamu, dengan ini kamu bisa limit CPU yang digunakan oleh Octane

    b. Membatasi request masuk php artisan octane:start --max-requests=250. Fungsinya untuk mencegah memory leaks, Octane bakal restart worker bila sudah sampai 250 requests

    c. Reload workers php artisan octane:reload

    d. Stop service php artisan octane:stop

    e. Cek service status php artisan octane:status

Menggunakan rr serve

  1. Untuk menjalankan Laravel Octane menggunakan rr serve kita membutuhkan file rr.yaml. Contoh file rr.yaml ini saya ambil dari artikel Peter Fox di Medium yang berjudul Laravel Octane: Running RoadRunner directly with .rr.yaml
version: "3"

http:
  address: 127.0.0.1:8000
  pool:
    num_workers: 0
    max_jobs: 500
    supervisor:
      exec_ttl: 30s
  static:
    dir: public
  middleware: [ "static" ]

server:
  command: "php ./vendor/bin/roadrunner-worker"

  env:
    - APP_ENV: production
    - APP_BASE_PATH: "/home/username/projectkamu"
    - LARAVEL_OCTANE: "1"

rpc:
  listen: tcp://127.0.0.1:6001

logs:
  mode: production
  level: debug
  output: stdout
  encoding: json
  1. Dengan menggunakan rr serve kamu bisa mengakses semua fitur dari RoadRunner, contoh lengkapnya bisa di lihat di github/roadrunner
Using rr serve on Laravel

Using rr serve on Laravel