/usr/bin/spawn-fcgi -U nobody -G nobody -d /var/run/fcgi -s /tmp/fcgi.sock -M 0777 -F 2 -P /var/run/fcgi/fcgi.pid -- /usr/bin/php-cgiTernyata dari perintah sebelumnya kan saya menggunakan php-cgi pada alamat 127.0.0.1 dan port 9000. Jadi otomatis port 9000 itu terbuka. Jalankan saja perintah ini:
# netstat -tulpn | grep 9000Dan hasilnya kira-kira seperti ini:
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 9443/php-cgiOke untuk mengantipasi itu maka lakukanlah perintah ini:
- Matikan dahulu proses dari php-cgi dengan perintah:
# killall php-cgi
- Jalankan perintah dibawah ini (Sebelumnya download dan install spawn-fcgi dulu ya di http://pkgs.org/search/?keyword=spawn-fcgi):
# /usr/bin/spawn-fcgi -U nobody -G nobody -d /var/run/fcgi -s /tmp/fcgi.sock -M 0777 -F 2 -P /var/run/fcgi/fcgi.pid -- /usr/bin/php-cgi
- Maka apabila benar, maka hasilnya seperti ini:
spawn-fcgi: child spawned successfully: PID: 9482
spawn-fcgi: child spawned successfully: PID: 9483 - Sekarang saatnya membuktikan apakah port 9000 terbuka.
# netstat -tulpn | grep 9000
- Maka tidak ada hasil apa-apa kan? Coba lagi dengan perintah ini:
# nmap localhost
Keluarannya di terminal
Starting Nmap 5.51 ( http://nmap.org ) at 2012-02-15 13:22 WIT
Nmap scan report for localhost (127.0.0.1)
Host is up (0.0000060s latency).
Not shown: 994 closed ports
PORT STATE SERVICE
22/tcp open ssh
37/tcp open time
80/tcp open http
113/tcp open auth
3306/tcp open mysql
6000/tcp open X11
Nmap done: 1 IP address (1 host up) scanned in 0.11 seconds
- Nah gak ada port 9000 yang terbuka kan? Kenapa?
Karena disini menggunakan soket php aja seperti yang dibilang om Walecha di atas.He
- Sekarang rubah nginx.conf menjadi seperti ini:
# location ~ \.php$ {
root /srv/httpd/htdocs;
fastcgi_pass unix:/tmp/fcgi.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME script$fastcgi_script_name;
include fastcgi_params;
#fastcgi_param HTTPS on;
fastcgi_intercept_errors on;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
} - Dari tampilan di atas, yang dirubah di bagian location ~ \.php$ { dan yang saya tebalkan saja ya? Selebihnya sama dengan nginx sebelumnya
- Sekarang coba restart nginx-nya:
# killall nginx
# /etc/rc.d/rc.nginx start - Langkah terakhir adalah dengan mematikan services autostart php-cgi
di rc.M yang sebelumnya sudah saya edit waktu itu dan merubahnya
menjadi:
# Start php-cgi;
#if [ -x /usr/bin/php-cgi ]; then
# . /etc/rc.d/rc.php-cgi start
#fi - Oke sekarang buka localhost/info.php (ingat info.php sudah di buat sebelumnya dengan isinya: )
Catatan:
Untuk masalah koneksi php ke mysql dengan cara di atas pun telah berhasil, karena sebelumnya tidak berhasil tapi kali ini berhasil..
Post a Comment