Hal yang pertama kali dilakukan adalah cek apakah php yang terinstall support untuk cgi atau fastcgi, yaitu dengan cara
$php -v
atau
$php-cgi -v
jika output dari perintah tersebut kurang lebih seperti ini ( terdapat kata cgi-fcgi )
maka PHP yang digunakan support dengan fastcgi, jika tidak ada keluar seperti yang digambar anda harus kompile ulang dengan menambahkan opsi --enable-fastcgi saat ./configure atau download php-cgi.
Setting PHP sebagai FastCGI
Pada bagian ini semua konfigurasi yang diatas harus telah benar, kalo tidak kemungkinan akan gagal ketika menjalankan Nginx atau PHP.
Buat sebuah file di /etc/init.d/php-fcgi, harus dengan akses root, kemudian ketik kode berikut didalam file tersebut.
#!/bin/bash
BIND=127.0.0.1:9000
USER=www-data
PHP_FCGI_CHILDREN=15
PHP_FCGI_MAX_REQUESTS=1000
PHP_CGI=/usr/local/bin/php-cgi
PHP_CGI_NAME=`basename $PHP_CGI`
PHP_CGI_ARGS="- USER=$USER PATH=/usr/bin PHP_FCGI_CHILDREN=$PHP_FCGI_CHILDREN PHP_FCGI_MAX_REQUESTS=$PHP_FCGI_MAX_REQUESTS $PHP_CGI -b $BIND"
RETVAL=0
start() {
echo -n "Starting PHP FastCGI: "
start-stop-daemon --quiet --start --background --chuid "$USER" --exec /usr/bin/env -- $PHP_CGI_ARGS
RETVAL=$?
echo "$PHP_CGI_NAME."
}
stop() {
echo -n "Stopping PHP FastCGI: "
killall -q -w -u $USER $PHP_CGI
RETVAL=$?
echo "$PHP_CGI_NAME."
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo "Usage: php-fastcgi {start|stop|restart}"
exit 1
;;
esac
exit $RETVAL
File ini untuk menjalankan PHP sebagai fastcgi.
Kemudian beri akses execute pada file.
#chmod +x /etc/init.d/php-fcgi
Setting pada Nginx
File konfigurasi Nginx pada system Linux ada di /etc/nginx/nginx.conf atau lebih baik edit file di /etc/nginx/sites-enabled/default.Cari kata server pada file. kemudian didalam scope server tersebut, tambahkan konfigurasi berikut pada file.
server {
listen 80;
server_name localhost;
access_log /var/log/nginx/localhost.access.log;
location / {
root /var/www/nginx-default;
index index.html index.htm index.php;
if ( !-e $request_filename ) {
rewrite ^(.+)$ /index.php?$1 last;
}
}
### << tambahan untuk php
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/nginx-default$fastcgi_script_name;
include fastcgi_params;
}
### >> tambahan untuk php
}
Buat sebuah file dengan nama info.php isikan kode phpinfo() pada file.Kemudian jalankan php-fcgi dan nginx, dan buka browser coba akses ke localhost/info.php jika telah keluar informasi tentang PHP, maka konfigurasi telah benar.
NOTE:
Hal yang paling penting dari semua diatas adalah pastikan php-fcgi telah dijalankan, jika tidak maka nginx akan mengeluarkan error seperti ini.perintah untuk menjalakan php-fcgi
#service php-fcgi start
perintah untuk menjalankan nginx
#nginx
perintah untuk menghentikan nginx
#nginx -s stop


0 comments:
Post a Comment