Cara Install Nginx + PHP-FPM di Ubuntu

Tutorial sebelumnya sudah dibahas mengenai instalasi dan konfigurasi dasar Nginx di Ubuntu tapi belum mendukung file PHP. Tutorial selanjutnya menambahkan PHP-fpm. Nginx tidak memiliki native PHP seperti pada Apache, jadi membutuhkan PHP-fpm (fastCGI process manager).

Tutorial ini menggunakan Ubuntu 14.04 LTS dan masih menggunakan PHP5.

Install Nginx di Ubuntu Baca tutorialnya di sini

Install PHP-fpm di Ubuntu

[INPUT]

1 sudo apt-get install php5-fpm php5-mysql -y

Edit file konfigurasi PHP

[INPUT]

1 sudo nano /etc/php5/fpm/php.ini

Cari baris kode *cgi.fix_pathinfo*, lepas tanda titik koma (;), dan isi nilainya dengan 0. Hal ini dilakukan karena alasan keamanan.

[INPUT]

1 cgi.fix_pathinfo =

Selanjutnya konfigurasi Nginx agar menggunakan PHP processor.

[INPUT]

1 sudo nano /etc/nginx/sites-available/default

File konfigurasinya menjad seperti di bawah ini.

[INPUT]

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 server {     listen 80 default_server;     listen [::]:80 default_server ipv6only=on;       root /usr/share/nginx/html;     index index.php index.html index.htm;       server_name nama_domain;       location / {         try_files $uri $uri/ =404;     }       location ~ \.php$ {         try_files $uri =404;         fastcgi_split_path_info ^(.+\.php)(/.+)$;         fastcgi_pass unix:/var/run/php5-fpm.sock;         fastcgi_index index.php;         fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;         include fastcgi_params;     } }

Restart PHP-fpm dan nginx

[INPUT]

1 2 sudo service nginx restart sudo php5-fpm restart

Buat file info.php untuk menguji apakah Nginx sudah terhubung dengan PHP-fpm.

[INPUT]

1 sudo nano /usr/share/nginx/html/info.php

Isi filenya

[INPUT]

1

Kemudian akses http://nama_domain_atau_IP/info.php

PHP Info dengan Nginx + PHPfpm

-URL Rewrite di Nginx-

Pada Apache untuk mengaktifkan fitur URL Rewrite menggunakan mod_rewrite dan file .htaccess, namun untuk Nginx cukup menambahkan baris kode konfigurasi.

Edit file /etc/nginx/sites-available/default.

[INPUT]

1 sudo nano /etc/nginx/sites-available/default

Jika file web berada dalam folder root, cukup tambahkan */index.php* pada *location /*

[INPUT]

1 2 3 location / {     try_files $uri $uri/ /index.php; }

Jika file file web berada dalam sub-folder misalnya */wordpress*, tambahkan blok konfigurasi untuk sub-folder tersebut.

[INPUT]

1 2 3 location /wordpress/ { try_files $uri $uri/ /wordpress/index.php; }

selamat mencoba 🙂

Leave a Reply

Your email address will not be published.