Konfigurasi Nginx dengan PHP-FPM pada CentOS7

Nginx adalah sebuah aplikasi yang menyediakan layanan Web Server, aplikasi ini dapat diintegrasikan dengan PHP-FPM yang merupakan alternatif untuk memproses konten script PHP,  dengan kita menginstall nginx dan php-fpm, aplikasi nginx dapat memproses script PHP dan hasil outputnya akan ditampilkan di komputer client.

Saya akan menginstall Nginx dan PHP-FPM di sebuah server yang bersistem operasi CentOS 7, kedua aplikasi ini terdapat didalam repositori remi, untuk itu sebelum menginstallnya kita harus memasukan repo remi di server.

Topologi

Berikut ini adalah topologi server yang akan dikonfigurasi :

Web Server

  1. Pada web server pastikan nginx sudah dapat beroperasi sebelumnya, jika belum bisa lihat postingan saya yang ini.
  2. Untuk menginstall PHP-FPM kita perlu menginstall repo REMI, karena paket PHP-FPM berada pada repo REMI ini, setelah itu baru kita menginstall paket PHP-FPM nya.
  3. [root@node01 ~]# yum -y install http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
    [root@node01 ~]# yum -y install php70 php70-php-pear php70-php-mbstring php70-php-fpm
    
  4. Setelah proses installasi selesai, kemudian kita lakukan Load Environtment PHP70.
  5. [root@node01 ~]# php70 -v #melihat versi PHP
    PHP 7.0.30 (cli) (built: Apr 24 2018 20:40:19) ( NTS )
    Copyright (c) 1997-2017 The PHP Group
    Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
    
    [root@node01 ~]# scl enable php70 bash
    
    #Buat file seperti dibawah ini agar php70 dapat berjalan otomatis ketika server menyala
    [root@node01 ~]# vi /etc/profile.d/php70.sh
    #!/bin/bash
    
    source /opt/remi/php70/enable
    export X_SCLS="`scl enable php70 'echo $X_SCLS'`"
    
  6. Edit file konfigurasi PHP-FPM pada /etc/opt/remi/php70/php-fpm.d/www.conf.
  7. [root@node01 ~]# vi /etc/opt/remi/php70/php-fpm.d/www.conf
    #cari tulisan seperti dibawah ini, ganti tulisan apache menjadi nginx
    ; RPM: apache user chosen to provide access to the same directories as httpd
    user = nginx
    ; RPM: Keep a group allowed to write in log dir.
    group = nginx
    
  8. Jalankan service PHP-FPM.
  9. [root@node01 ~]# systemctl start php70-php-fpm
    [root@node01 ~]# systemctl enable php70-php-fpm
    
  10. Pastikan PHP-FPM berjalan pada port 9000.
  11. [root@node01 ~]# ss -napt | grep php-fpm
    LISTEN     0      128         :::9000                    :::*                   
    users:(("php-fpm",pid=978,fd=0),("php-fpm",pid=977,fd=0),("php-fpm",pid=976,fd=0),("php-fpm",pid=975,fd=0),("php-fpm",pid=974,fd=0),("php-fpm",pid=918,fd=6))
    
  12. Setelah itu edit file konfigurasi nginx untuk mengintegrasikan dengan PHP-FPM.
  13. [root@node01 ~]# vi /etc/nginx/nginx.conf
    server {
            listen       80 default_server;
            listen       [::]:80 default_server;
            server_name  node01.network.dz;
            root         /usr/share/nginx/html;
    
            # Load configuration files for the default server block.
            include /etc/nginx/default.d/*.conf;
    
            location / {
            }
           #tambahkan script dibawah ini didalam server {}
            location ~ \.php$ {
                fastcgi_pass   127.0.0.1:9000;
                fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
                fastcgi_param  PATH_INFO $fastcgi_path_info;
                include        fastcgi_params;
            }
    
  14. Restart nginx untuk memperbarui konfigurasi.
  15. [root@node01 ~]# systemctl restart nginx
    
  16. Buat file index.php pada direktori root web server.
  17. [root@node01 ~]# echo '<?php phpinfo(); ?>' > /usr/share/nginx/html/index.php
    
  18. Terakhir testing client apakah sudah dapat bekerja.
Sampai disini saja postingan saya kali ini,
Sekian dan terima kasih.

Referensi

Server World

Komentar