Mengkonfigurasi Nginx untuk Laravel di Ubuntu & Debian

Mengkonfigurasi Nginx untuk Laravel di Ubuntu & Debian

Laravel adalah kerangka kerja aplikasi web PHP populer yang digunakan untuk mengembangkan aplikasi web yang kuat dan dinamis. Ketika datang untuk menggunakan aplikasi Laravel, Nginx adalah pilihan server web yang populer karena kecepatan, stabilitas, dan skalabilitasnya. Mengkonfigurasi Nginx untuk Laravel penting untuk penyebaran produksi.

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

Langkah 1: Instal Nginx

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

pembaruan sudo apt-get  sudo apt-get install nginx  

Langkah 2: Pasang PHP

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

sudo apt-get menginstal php php-fpm php-mysql 

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

Setelah instalasi selesai, Anda perlu mengkonfigurasi PHP agar bekerja dengan Nginx. Anda dapat melakukan ini 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:

user = www-data grup = www-data mendengarkan =/run/php/php8.1-fpm.kaus kaki
123user = www-datagroup = www-datalisten =/run/php/php8.1-fpm.kaus kaki

Pengaturan ini memastikan bahwa PHP berjalan dengan pengguna dan grup yang sama seperti Nginx dan mendengarkan 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 diinstal dan dikonfigurasi, server Nginx Anda sekarang siap untuk 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, membuat file baru di direktori/etc/nginx/situs yang tersedia, sebagai berikut:

sudo nano/etc/nginx/situs-tersedia/laravel 

Di file ini, tambahkan pengaturan konfigurasi berikut:

server dengarkan 80; Contoh server_name.com; root/var/www/laravel/public; Indeks Indeks.PHP; Lokasi / TRY_FILES $ URI $ URI / / INDEX.php?$ query_string; Lokasi ~ \.php $ try_files $ uri = 404; fastcgi_pass unix:/run/php/php8.1-fpm.kaus kaki; indeks fastcgi_index.PHP; fastcgi_param script_filename $ document_root $ fastcgi_script_name; Sertakan fastcgi_params;
12345678910111213141516171819server dengarkan 80; Contoh server_name.com; root/var/www/laravel/public; Indeks Indeks.PHP; Lokasi / TRY_FILES $ URI $ URI / / INDEX.php?$ query_string; Lokasi ~ \.php $ try_files $ uri = 404; fastcgi_pass unix:/run/php/php8.1-fpm.kaus kaki; indeks fastcgi_index.PHP; fastcgi_param script_filename $ document_root $ fastcgi_script_name; Sertakan fastcgi_params;

Dalam konfigurasi ini, kami mendengarkan di port 80, mendefinisikan nama server sebagai contoh.com, dan mengatur direktori root untuk aplikasi Laravel. Kami juga menentukan file indeks dan mendefinisikan blok lokasi untuk aplikasi Laravel. Selain itu, kami mendefinisikan blok lokasi untuk file php dan menentukan parameter fastcgi.

Langkah 4: Aktifkan blok Nginx Server

Setelah Anda membuat blok server, Anda harus mengaktifkannya. Untuk melakukannya, buat tautan simbolik dari file/etc/nginx/situs-tersedia/Laravel ke direktori/etc/nginx/situs yang diaktifkan, sebagai berikut:

sudo ln -s/etc/nginx/situs-tersedia/laravel/etc/nginx/situs-diable/ 

Sebelum memulai kembali Nginx, Anda harus menguji konfigurasi untuk memastikan bahwa tidak ada kesalahan sintaksis. Anda dapat menguji konfigurasi menggunakan perintah berikut:

sudo nginx -t 

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

Sudo Systemctl restart nginx 

Langkah 5: Mengkonfigurasi SSL/TLS

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

Dengarkan 443 SSL; ssl_certificate/path/to/your/sertifikat.PEM; ssl_certificate_key/path/to/your/private.kunci;
1234Dengarkan 443 SSL; ssl_certificate/path/to/your/sertifikat.PEM; ssl_certificate_key/path/to/your/private.kunci;

Anda harus mengganti/jalur/ke/Anda/sertifikat.PEM dan/PATH/TO/Your/Private.Kunci dengan jalur ke sertifikat SSL/TLS Anda dan kunci pribadi, masing -masing.

Langkah 6: Mengoptimalkan kinerja

Untuk mengoptimalkan kinerja aplikasi Laravel Anda, Anda dapat mengonfigurasi caching nginx. Caching dapat membantu mengurangi beban server dan meningkatkan waktu pemuatan 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 pemuatan halaman. Untuk mengaktifkan caching di Nginx, Anda dapat menambahkan konfigurasi berikut ke blok server:

Lokasi ~* \.(jpg | jpeg | png | gif | ico | css | js) $ kedaluwarsa 1y; add_header cache-control "public, no-transform";
1234Lokasi ~* \.(jpg | jpeg | png | gif | ico | css | js) $ kedaluwarsa 1y; add_header cache-control "public, no-transform";

Konfigurasi ini memberi tahu Nginx ke Cache Image, CSS, dan JavaScript selama satu tahun dan untuk mengirim header kontrol cache "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:

gzip on; GZIP_Types Teks/Teks Polos/Aplikasi CSS/Aplikasi JSON/Teks JavaScript/Aplikasi XML/Aplikasi XML/XML+Teks RSS/JavaScript;
12GZIP ON; GZIP_TYPES Teks/Teks Polos/Aplikasi CSS/Aplikasi JSON/Teks JavaScript/Aplikasi XML/Aplikasi XML/XML+RSS Teks/JavaScript;

Konfigurasi ini memberi tahu NGINX untuk mengaktifkan kompresi GZIP untuk jenis file berbasis teks.

Menyesuaikan proses dan koneksi pekerja

Akhirnya, Anda dapat menyesuaikan proses dan koneksi pekerja untuk mengoptimalkan kinerja aplikasi Laravel Anda di Nginx. Ini dapat membantu memastikan bahwa server Anda dapat menangani sejumlah besar permintaan tanpa menjadi kewalahan. Untuk menyesuaikan proses dan koneksi pekerja, Anda dapat menambahkan konfigurasi berikut ke blok HTTP di Nginx.File conf:

worker_processes otomatis; worker_connections 1024;
12worker_processes auto; worker_connections 1024;

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 memberikan panduan komprehensif tentang cara mengkonfigurasi 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 dengan lancar dan efisien di Nginx.