GNU/Linux >> Belajar Linux >  >> Linux

Cara Mengonfigurasi Nginx agar Bekerja dengan PHP melalui PHP-FPM

Tutorial langkah demi langkah ini akan menunjukkan cara menginstal dan mengonfigurasi Nginx untuk mengeksekusi PHP di server Anda menggunakan PHP-FPM.

Nginx + PHP adalah salah satu grup perangkat lunak paling populer yang dapat Anda gunakan untuk membangun situs web Anda. Tutorial langkah demi langkah ini akan menunjukkan cara menginstal dan mengkonfigurasi Nginx untuk mengeksekusi PHP di server Anda menggunakan PHP-FPM.

Nginx adalah kombinasi ideal dengan PHP-FPM. Ini adalah server web stabil yang dikenal karena kinerjanya yang mengesankan dan konsumsi sumber daya yang rendah.

PHP berjalan sebagai layanan yang terisolasi saat Anda menggunakan PHP-FPM. Menggunakan versi PHP ini sebagai penerjemah bahasa berarti permintaan akan diproses melalui soket UNIX. Server Nginx hanya akan menangani permintaan HTTP, sedangkan PHP-FPM menginterpretasikan kode PHP.

1. Menginstal Nginx

Ubuntu / Debian

Karena Nginx tersedia di repositori default Debian dan Ubuntu, menginstalnya dari repositori ini menggunakan sistem pengemasan yang tepat dapat dilakukan.

sudo apt install nginx

CentOS / AlmaLinux / Rocky Linux

Untuk mendapatkan versi Nginx terbaru, pengguna CentOS, AlmaLinux, atau Rocky Linux perlu menginstal repositori EPEL terlebih dahulu.

EPEL (Extra Packages for Enterprise Linux) adalah proyek repositori berbasis komunitas open-source dan gratis dari tim Fedora yang menyediakan paket perangkat lunak tambahan berkualitas tinggi untuk distro Linux berbasis RHEL.

sudo yum install epel-release

Kemudian Anda dapat menginstal server Nginx.

sudo yum install nginx

Fedora

Nginx tersedia di repositori default Fedora dan dapat diinstal langsung menggunakan dnf pengelola paket.

sudo dnf install nginx

2. Menginstal PHP-FPM

Ubuntu / Debian

Untuk menginstal PHP di Ubuntu atau Debian, jalankan saja perintah berikut:

sudo apt install php-fpm

CentOS

Versi PHP yang tersedia secara default dalam server CentOS sudah usang. Oleh karena itu, kita perlu menginstal repositori paket pihak ketiga untuk mendapatkan PHP 7.

CentOS 7

sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
sudo yum-config-manager --enable remi-php74
sudo yum install php php-fpm

CentOS 8

sudo yum install http://rpms.remirepo.net/enterprise/remi-release-8.rpm
sudo yum-config-manager --enable remi-php74
sudo yum install php php-fpm

3. Konfigurasi NGINX untuk Menjalankan PHP Menggunakan PHP-FPM

Setelah Nginx dan PHP terinstal, kita dapat mengkonfigurasi Nginx untuk mengirim permintaan PHP ke PHP-FPM.

Kita harus membuat file konfigurasi blok server Nginx untuk menjalankan PHP dengan FPM. Setelah itu, Anda dapat membuat VirtualHost baru sesuai kebutuhan Anda, mengaktifkan VirtualHost baru.

sudo vim /etc/nginx/sites-available/example.com

Ganti example.com dengan domain atau alamat IP situs Anda, dan root direktif dengan direktori root situs Anda.

server {
        listen 80;
        root /var/www/html;
        index index.php index.html index.htm;
        server_name example.com;
 
        location / {
            try_files $uri $uri/ =404;
        }
 
        location ~ \.php$ {
            include snippets/fastcgi-php.conf;
            fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
        }
}

Simpan perubahan Anda ke file konfigurasi dan buat tautan ke direktori yang diaktifkan situs.

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/example.com 

Pastikan nama file soket PHP (dalam kasus kami php7.4-fpm.sock ) ditentukan dalam fastcgi_pass direktif sudah benar.

ls -l /var/run/php/
total 4
-rw-r--r-- 1 root     root      5 Dec  1 17:43 php7.4-fpm.pid
srw-rw---- 1 www-data www-data  0 Dec  1 17:43 php7.4-fpm.sock
lrwxrwxrwx 1 root     root     30 Dec  1 17:43 php-fpm.sock -> /etc/alternatives/php-fpm.sock

Jika namanya berbeda dengan php7.4-fpm.sock , ganti saja di blok server yang ditunjukkan di atas dengan yang sekarang dari server Anda.

Kemudian restart layanan Nginx untuk memuat ulang perubahan.

sudo systemctl restart nginx.service

4. Menguji Penyiapan

Buat file PHP uji untuk memverifikasi bahwa PHP-FPM berfungsi dan terintegrasi dengan Nginx. Di Blok Server di atas, situs kami dilayani dari /var/www/html , jadi kami akan membuat file uji di sana:

echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php

Terakhir, akses info.php dari browser web, menggunakan domain situs atau alamat IP server Anda. Anda akan melihat halaman konfigurasi PHP:

Kesimpulan

Selamat! Anda telah menyiapkan Nginx untuk menangani permintaan PHP melalui PHP-FPM.

Ada beberapa langkah selanjutnya yang bisa Anda ambil dari sini. Misalnya, Anda harus memastikan bahwa koneksi ke server Anda aman. Tapi bagaimana melakukannya?

Ikuti tutorial langkah demi langkah kami untuk mendapatkan sertifikat SSL Let's Encrypt gratis untuk server Anda.


Linux
  1. Cara mengkonfigurasi SSL Cloudflare asal dengan Nginx

  2. Cara Mengaktifkan Nginx Dengan PHP-FPM Di Plesk

  3. Cara menginstal PHP 7.4 Dengan Nginx di Ubuntu 20.04

  1. Bagaimana cara mengkonfigurasi server log jarak jauh dengan rsyslog?

  2. Bagaimana Cara Menjalankan Beberapa versi PHP dengan Nginx di Ubuntu?

  3. Cara Menginstal PHP-FPM dengan Apache di Ubuntu 20.04

  1. Cara Menginstal WordPress dengan Nginx di CentOS 7

  2. Cara Menginstal Drupal 8.1 dengan Nginx, PHP-FPM dan SSL di Ubuntu 16.04

  3. Cara Mengkonfigurasi Nginx untuk Mengeksekusi PHP Menggunakan PHP-FPM