RizkyLab

A blogging framework for hackers.

Cara Konfigurasi Nginx Dan PHP 5.5 FastCGI (FPM) Di FreeBSD 9.3

Selamat malam gaays.. Malem ini kita bahas nginx lagi yag?. Tapi kali ini berjalan pada sistem operasi FreeBSD 9.3. Kita sudah sama-sama tau kalo nginx adalah salah satu web server yang handal, dan Wordpress adalah salah satu web terpopuler yang menggunakan nginx. Dan untuk PHP kita menggunakan FPM (FastCGI Process Manager). 

Untuk Spesifikasi dalam dokumentasi kali ini adalah sebagai berikut :

  • OS: FreeBSD 9.3
  • Nginx version: 1.6.1
  • PHP version: 5.5.16
  • Website: http://akudiphp.in/
  • Website IP: 148.163.79.41
  • Web directory: /home/rizky/public_html

beberapa proses yang harus di lakukan adalah :

⇔ Install nginx

cd /usr/ports/www/nginx
make install clean

Maka anda bisa memilih modul Nginx Anda inginkan compile, tapi bagi saya, saya akan memilih modul berikut :

1

⇔ setelah installasi selesai maka seanjutanya adalah Mengaktifkan Nginx dengan menambahkan baris berikut untuk /etc/rc.conf:

nginx_enable="YES"

⇔ Selantnya  kita perlu menginstal PCRE, libtool, PHP dengan FPM dan ekstensi PHP. Ikuti langkah-langkah di bawah ini:

cd /usr/ports/devel/pcre
make install clean
cd /usr/ports/devel/libtool
make install clean
cd /usr/ports/lang/php55
make install clean

jangan lupa pilih FPM (FastCGI Process Manager).

cd /usr/ports/lang/php55-extensions
make install clean

⇔ Jangan lupa pula mengaktifkan PHP_FPM di /etc/rc.conf

php_fpm_enable="YES"

⇔ Secara default installatian, file php.in tidak ada. maka kita perlu menyalin terlebih dahulu

cp /usr/local/etc/php/php.ini-production /usr/local/etc/php/php.ini

⇔ Jalankan service php-fpm dengan perintah :

/usr/local/etc/rc.d/php-fpm start

⇔ Selanjutnya kita akan mebuat root directory dan log directory nginx

mkdir /home/rizky/public_html
mkdir /home/rizky/logs

*Anda bisa sesuaikan directory yang akan anda inginkan

⇔ Selanjutnya anda mesti seruput kopi dulu, karna tahap ini kita akan mengkonfig nginx dan mengatur directory web server serta lognya. Anda bisa menyalin contoh configurasi yang saya berikan di bawah ini :

user nobody;
worker_processes 1;
 
error_log logs/error.log;
 
pid logs/nginx.pid;
 
events {
 worker_connections 1024;
}
 
http {
 include mime.types;
 default_type application/octet-stream;
 
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
 
    sendfile        on;
 
    keepalive_timeout  65;
 
    gzip  on;
 
    # We define the virtual host here
    server {
 listen 148.163.79.41:80;
 server_name akudiphp.in www.akudiphp.in;
 
 access_log /home/rizky/logs/access.log main;
 
 location / {
 root /home/rizky/public_html;
 index index.html index.htm index.php;
 }
    # Let nginx know how to handle PHP using fastcgi
        location ~ \.php$ {
            root           html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /home/rizky/public_html$fastcgi_script_name;
            include        fastcgi_params;
        }
 
        location ~ /\.ht {
            deny  all;
        }
    }
}

Nginx dan PHP-FPM sudah berjalan dengan benar. Mari Kita cek :

/usr/local/etc/rc.d/php-fpm restart
/usr/local/etc/rc.d/nginx reload

3

Hasilnya seperti pada gambar di atas.

Selanjutnya kita buat file info.php di /home/rizky/public_html dengan perintah :

nano /home/rizky/public_html/info.php
<?php
phpinfo();
phpinfo(INFO_MODULES);
?>

akses http://domain-anda.com/info.php, maka Lihat hasilnya :

4

Sekian, semoga tulisan ini bermanfaat. Terimakasih.