Laravel adalah framework aplikasi web PHP populer yang digunakan untuk mengembangkan aplikasi web yang kuat dan dinamis. Dalam hal penerapan aplikasi Laravel, Nginx adalah pilihan server web yang populer karena kecepatan, stabilitas, dan skalabilitasnya. Mengonfigurasi Nginx untuk Laravel penting untuk penerapan produksi.

Dalam tutorial ini, kami akan memberikan panduan lengkap tentang cara mengkonfigurasi Nginx untuk aplikasi Laravel.

Langkah 1: Instal Nginx

Sebelum Anda dapat mengkonfigurasi Nginx untuk aplikasi Laravel Anda, Anda harus menginstal Nginx terlebih dahulu di server Anda. Anda dapat menginstal Nginx di server Anda menggunakan perintah berikut:

sudo apt-get update 
sudo apt-get install nginx 

Langkah 2: Instal PHP

Untuk menjalankan aplikasi Laravel di Nginx, Anda juga perlu menginstal PHP, yang merupakan bahasa skrip yang digunakan untuk membuat Laravel. Anda dapat menginstal PHP dan dependensinya dengan menjalankan perintah berikut:


sudo apt-get install php php-fpm php-mysql


Perintah ini menginstal PHP, PHP FastCGI Process Manager, dan ekstensi MySQL untuk PHP.

Setelah penginstalan selesai, Anda perlu mengonfigurasi PHP agar berfungsi dengan Nginx. Anda dapat melakukannya dengan mengedit file konfigurasi php-fpm:


sudo nano /etc/php/8.1/fpm/pool.d/www.conf


Dalam file ini, Anda perlu memperbarui pengaturan berikut:


Pengaturan ini memastikan bahwa PHP berjalan sebagai pengguna dan grup yang sama dengan Nginx dan mendengarkan pada soket yang benar.

Simpan dan tutup file setelah selesai, lalu mulai ulang PHP-FPM untuk menerapkan perubahan:


sudo systemctl restart php8.1-fpm


Dengan PHP terinstal dan terkonfigurasi, server Nginx Anda sekarang siap melayani aplikasi Laravel.


Langkah 3: Buat Blok Server Nginx


Langkah selanjutnya adalah membuat blok server Nginx, yang digunakan untuk menentukan pengaturan konfigurasi untuk situs web atau aplikasi tertentu. Untuk membuat blok server untuk aplikasi Laravel Anda, buat file baru di direktori /etc/nginx/sites-available , sebagai berikut:


sudo nano /etc/nginx/sites-available/laravel


Dalam file ini, tambahkan pengaturan konfigurasi berikut:

Dalam konfigurasi ini, kita mendengarkan pada port 80, mendefinisikan nama server sebagai example.com, dan menyetel direktori root untuk aplikasi Laravel. Kami juga menentukan file indeks dan menentukan blok lokasi untuk aplikasi Laravel. Selain itu, kami menentukan blok lokasi untuk file PHP dan menentukan parameter FastCGI.


Langkah 4: Aktifkan Blok Server Nginx


Setelah Anda membuat blok server, Anda harus mengaktifkannya. Untuk melakukannya, buat tautan simbolis dari file /etc/nginx/sites-available/laravel ke direktori /etc/nginx/sites-enabled, sebagai berikut:


cd /etc/nginx/sites-enabled && ln -s ../sites-available/laravel


Sebelum memulai ulang Nginx, Anda harus menguji konfigurasi untuk memastikan tidak ada kesalahan sintaks. Anda dapat menguji konfigurasi menggunakan perintah berikut:


sudo nginx -t

Jika tidak ada kesalahan sintaks, Anda dapat memulai ulang Nginx menggunakan perintah berikut:


sudo systemctl restart nginx

Langkah 5: Konfigurasikan SSL/TLS

Untuk mengamankan aplikasi Laravel Anda, Anda harus mengonfigurasi SSL/TLS. Untuk melakukannya, Anda harus mendapatkan sertifikat SSL/TLS dari otoritas sertifikat (CA) tepercaya dan menginstalnya di server Anda. Setelah mendapatkan sertifikat, Anda dapat mengonfigurasi SSL/TLS dengan menambahkan pengaturan konfigurasi berikut ke blok server:


apt install python3-certbot-nginx
 
certbot --nginx -d nama_domain


Langkah 6: Optimalkan Performa


Untuk mengoptimalkan kinerja aplikasi Laravel Anda, Anda dapat mengonfigurasi caching Nginx. Caching dapat membantu mengurangi beban server dan meningkatkan waktu muat halaman. Untuk mengaktifkan caching, Anda dapat menambahkan pengaturan konfigurasi berikut ke blok server:

Mengaktifkan Caching

Caching dapat membantu meningkatkan kinerja aplikasi Laravel Anda dengan mengurangi beban server dan meningkatkan waktu muat halaman. Untuk mengaktifkan caching di Nginx, Anda dapat menambahkan konfigurasi berikut ke blok server:

Konfigurasi ini memberi tahu Nginx untuk meng-cache file gambar, CSS, dan JavaScript selama satu tahun dan mengirimkan header Cache-Control "publik".

Mengaktifkan Kompresi Gzip

Mengaktifkan kompresi gzip juga dapat membantu meningkatkan kinerja aplikasi Laravel Anda dengan mengurangi ukuran file yang ditransfer antara server dan klien. Untuk mengaktifkan kompresi gzip di Nginx, Anda dapat menambahkan konfigurasi berikut ke blok server:

Konfigurasi ini memberi tahu Nginx untuk mengaktifkan kompresi gzip untuk jenis file berbasis teks.

Menyesuaikan Proses dan Koneksi Pekerja

Terakhir, Anda dapat menyesuaikan proses pekerja dan koneksi untuk mengoptimalkan kinerja aplikasi Laravel Anda di Nginx. Ini dapat membantu memastikan bahwa server Anda dapat menangani permintaan dalam jumlah besar tanpa menjadi kewalahan. Untuk menyesuaikan proses dan koneksi pekerja, Anda dapat menambahkan konfigurasi berikut ke blok http di file nginx.conf:

Konfigurasi ini memberi tahu Nginx untuk secara otomatis mendeteksi jumlah inti CPU di server dan menggunakan nomor itu untuk proses pekerja. Itu juga menentukan maksimum 1024 koneksi per proses pekerja.


Kesimpulan


Dalam tutorial ini, kami telah menyediakan panduan lengkap tentang cara mengonfigurasi Nginx untuk aplikasi Laravel. Kami telah membahas langkah-langkah untuk menginstal dan mengonfigurasi Nginx, membuat blok server Nginx untuk Laravel, mengaktifkan SSL/TLS, dan mengoptimalkan kinerja. Dengan mengikuti langkah-langkah ini, Anda dapat memastikan bahwa aplikasi Laravel Anda berjalan lancar dan efisien di Nginx.