Mengkonfigurasi Nginx untuk Laravel di Ubuntu & Debian

Mengkonfigurasi Nginx untuk Laravel di Ubuntu & Debian

Laravel adalah kerangka aplikasi Web PHP yang popular yang digunakan untuk membangunkan aplikasi web yang mantap dan dinamik. Ketika datang untuk menggunakan aplikasi Laravel, Nginx adalah pilihan pelayan web yang popular kerana kelajuan, kestabilan, dan skalabilitasnya. Mengkonfigurasi Nginx untuk Laravel adalah penting untuk penyebaran pengeluaran.

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

Langkah 1: Pasang nginx

Sebelum anda dapat mengkonfigurasi nginx untuk aplikasi laravel anda, anda mesti memasang nginx terlebih dahulu pada pelayan anda. Anda boleh memasang nginx pada pelayan anda menggunakan arahan berikut:

Sudo Apt-Get Update  sudo apt-get pemasangan nginx  

Langkah 2: Pasang PHP

Untuk menjalankan aplikasi Laravel di Nginx, anda juga perlu memasang PHP, iaitu bahasa skrip yang dibina dengan Laravel. Anda boleh memasang PHP dan kebergantungannya dengan menjalankan arahan berikut:

sudo apt-get pemasangan php-fpm php-mysql 

Perintah ini memasang php, pengurus proses php fastcgi, dan lanjutan mysql untuk php.

Setelah pemasangan selesai, anda perlu mengkonfigurasi PHP untuk bekerja dengan nginx. Anda boleh melakukan ini dengan mengedit fail konfigurasi PHP-FPM:

sudo nano/etc/php/8.1/fpm/kolam.D/www.Conf 

Dalam fail ini, anda perlu mengemas kini tetapan berikut:

pengguna = kumpulan www-data = www-data mendengar =/run/php/php8.1-fpm.kaus kaki
123pengguna = www-datagroup = www-datalisten =/run/php/php8.1-fpm.kaus kaki

Tetapan ini memastikan bahawa PHP berjalan sebagai pengguna dan kumpulan yang sama seperti nginx dan mendengar pada soket yang betul.

Simpan dan tutup fail apabila anda selesai, dan kemudian mulakan semula PHP-FPM untuk menggunakan perubahan:

SURDO SYSTEMCTL Mulakan semula Php8.1-fpm 

Dengan PHP dipasang dan dikonfigurasikan, pelayan Nginx anda kini bersedia untuk menyediakan aplikasi Laravel.

Langkah 3: Buat blok pelayan nginx

Langkah seterusnya adalah untuk membuat blok pelayan nginx, yang digunakan untuk menentukan tetapan konfigurasi untuk laman web atau aplikasi tertentu. Untuk membuat blok pelayan untuk aplikasi Laravel anda, buat fail baru dalam direktori/etc/nginx/tapak yang tersedia, seperti berikut:

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

Dalam fail ini, tambahkan tetapan konfigurasi berikut:

pelayan mendengar 80; Contoh Server_name.com; root/var/www/laravel/public; Indeks indeks.PHP; lokasi / try_files $ uri $ uri / / indeks.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; termasuk fastcgi_params;
12345678910111213141516171819pelayan mendengar 80; Contoh Server_name.com; root/var/www/laravel/public; Indeks indeks.PHP; lokasi / try_files $ uri $ uri / / indeks.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; termasuk fastcgi_params;

Dalam konfigurasi ini, kami mendengar di port 80, menentukan nama pelayan sebagai contoh.com, dan menetapkan direktori root untuk aplikasi laravel. Kami juga menentukan fail indeks dan menentukan blok lokasi untuk aplikasi laravel. Di samping itu, kami menentukan blok lokasi untuk fail php dan menentukan parameter fastcgi.

Langkah 4: Dayakan blok pelayan nginx

Sebaik sahaja anda telah membuat blok pelayan, anda mesti mengaktifkannya. Untuk berbuat demikian, buat pautan simbolik dari fail/etc/nginx/laman web yang tersedia/laravel ke direktori/etc/nginx/tapak yang dibolehkan, seperti berikut:

sudo ln -s/etc/nginx/sites-available/laravel/etc/nginx/sites-enabled/ 

Sebelum memulakan semula nginx, anda harus menguji konfigurasi untuk memastikan tiada kesilapan sintaks. Anda boleh menguji konfigurasi menggunakan arahan berikut:

sudo nginx -t 

Sekiranya tiada ralat sintaks, anda boleh memulakan semula Nginx menggunakan arahan berikut:

sudo systemctl mulakan semula nginx 

Langkah 5: Konfigurasikan SSL/TLS

Untuk mendapatkan aplikasi Laravel anda, anda harus mengkonfigurasi SSL/TLS. Untuk berbuat demikian, anda perlu mendapatkan sijil SSL/TLS dari Pihak Berkuasa Sijil yang Dipercayai (CA) dan memasangnya di pelayan anda. Sebaik sahaja anda memperoleh sijil, anda boleh mengkonfigurasi SSL/TLS dengan menambahkan tetapan konfigurasi berikut ke blok pelayan:

Dengar 443 SSL; ssl_certificate/path/to/your/sijil.PEM; ssl_certificate_key/path/to/your/swasta.kunci;
1234Dengar 443 SSL; ssl_certificate/path/to/your/sijil.PEM; ssl_certificate_key/path/to/your/swasta.kunci;

Anda harus menggantikan/jalan/ke/sijil anda.mem dan/jalan/ke/anda/peribadi.Kunci dengan laluan ke sijil SSL/TLS dan kunci peribadi anda.

Langkah 6: Mengoptimumkan prestasi

Untuk mengoptimumkan prestasi aplikasi Laravel anda, anda boleh mengkonfigurasi caching nginx. Caching dapat membantu mengurangkan beban pelayan dan meningkatkan masa beban halaman. Untuk membolehkan caching, anda boleh menambah tetapan konfigurasi berikut ke blok pelayan:

Membolehkan caching

Caching dapat membantu meningkatkan prestasi aplikasi laravel anda dengan mengurangkan beban pelayan dan meningkatkan masa beban halaman. Untuk membolehkan caching di nginx, anda boleh menambah konfigurasi berikut ke blok pelayan:

Lokasi ~* \.(jpg | jpeg | png | gif | ico | css | js) $ tamat 1y; ADD_HEADER CACHE-CONTROL "Awam, Tidak-Transform";
1234Lokasi ~* \.(jpg | jpeg | png | gif | ico | css | js) $ tamat 1y; Kawalan cache add_header "awam, tidak berubah";

Konfigurasi ini memberitahu Nginx untuk fail imej, CSS, dan JavaScript cache selama satu tahun dan menghantar pengepala cache "awam".

Membolehkan pemampatan gzip

Membolehkan pemampatan gzip juga dapat membantu meningkatkan prestasi aplikasi laravel anda dengan mengurangkan saiz fail yang dipindahkan antara pelayan dan klien. Untuk membolehkan pemampatan gzip di nginx, anda boleh menambah konfigurasi berikut ke blok pelayan:

gzip pada; GZIP_TYPES TEXT/Teks Plain/CSS Aplikasi/Aplikasi JSON/JavaScript Text/Aplikasi XML/XML Aplikasi/XML+RSS Text/JavaScript;
12GZIP ON; GZIP_TYPES TEXT/TEXT/CSS Application/JSON Application/JavaScript Text/XML Application/XML Application/XML+RSS Text/JavaScript;

Konfigurasi ini memberitahu Nginx untuk membolehkan pemampatan gzip untuk jenis fail berasaskan teks.

Menyesuaikan proses dan sambungan pekerja

Akhirnya, anda boleh menyesuaikan proses dan sambungan pekerja untuk mengoptimumkan prestasi aplikasi Laravel anda di nginx. Ini dapat membantu memastikan pelayan anda dapat mengendalikan sejumlah besar permintaan tanpa menjadi terharu. Untuk menyesuaikan proses dan sambungan pekerja, anda boleh menambah konfigurasi berikut ke blok HTTP di nginx.Fail conf:

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

Konfigurasi ini memberitahu Nginx untuk mengesan bilangan teras CPU secara automatik di pelayan dan menggunakan nombor itu untuk proses pekerja. Ia juga menentukan maksimum 1024 sambungan bagi setiap proses pekerja.

Kesimpulan

Dalam tutorial ini, kami telah memberikan panduan yang komprehensif mengenai cara mengkonfigurasi Nginx untuk aplikasi Laravel. Kami telah meliputi langkah -langkah untuk memasang dan mengkonfigurasi nginx, buat blok pelayan nginx untuk laravel, aktifkan SSL/TLS, dan mengoptimumkan prestasi. Dengan mengikuti langkah -langkah ini, anda dapat memastikan bahawa aplikasi laravel anda berjalan lancar dan cekap pada nginx.