Daha önceden bu yazımızda nginx kurulumunu anlatmıştık. (sadece kurmak, ayarlamak değil.) Şimdi ise, nginx üzerine php fastcgi kurma işlemini yapalım.
Aşağıdaki komut ile sistemimize gerekli paketleri kuralım.
apt-get install php5-cli php5-cgi spawn-fcgi psmisc
Artık sistemimizde php fcgi ile ilgili paketler yüklendi. Ancak bunu dürtecek bir mekanizmamız henüz yok. Bu yüzden nginx ayarlarında henüz bunu çağıramıyoruz. Şimdi bunu dürtebilir hale getirelim.
Aşağıdaki içerikler ile /usr/bin/php-fcgi adında bir dosya üretelim. Bu dosyaya göre php 9000 nolu portta çalışacak, ve 127.0.0.1 (localhost) için hizmet verecektir. Bu hizmet www-data adlı kullanıcı ve www-data adlı grup ile ilgili oluşacaktır.
/usr/bin/php-fcgi dosyası
#!/bin/bash FASTCGI_USER=www-data FASTCGI_GROUP=www-data ADDRESS=127.0.0.1 PORT=9000 PIDFILE=/var/run/php-fcgi/php-fcgi.pid CHILDREN=6 PHP5=/usr/bin/php5-cgi /usr/bin/spawn-fcgi -a $ADDRESS -p $PORT -P $PIDFILE -C $CHILDREN -u $FASTCGI_USER -g $FASTCGI_GROUP -f $PHP5
Chmod vererek de çalıştırabilir hale getirelim. Bunun için de aşağıdaki kodu çalıştıralım :
chmod +x /usr/bin/php-fcgi
Her şey yolunda gidiyor gibi gözüküyor. Ancak bu bir hizmet ve başlatma durdurma gibi özellikleri olması gerekiyor.
yani özetle, /etc/init.d/ içerisine bir şeyler yapmamız gerekiyor.
/etc/init.d/php-fcgi adlı bir dosya üretiniz.
/etc/init.d/php-fcgi dosyası :
#!/bin/bash
PHP_SCRIPT=/usr/bin/php-fcgi
FASTCGI_USER=www-data
FASTCGI_GROUP=www-data
PID_DIR=/var/run/php-fcgi
PID_FILE=/var/run/php-fcgi/php-fcgi.pid
RET_VAL=0
case "$1" in
start)
if [[ ! -d $PID_DIR ]]
then
mkdir $PID_DIR
chown $FASTCGI_USER:$FASTCGI_GROUP $PID_DIR
chmod 0770 $PID_DIR
fi
if [[ -r $PID_FILE ]]
then
echo "php-fcgi already running with PID `cat $PID_FILE`"
RET_VAL=1
else
$PHP_SCRIPT
RET_VAL=$?
fi
;;
stop)
if [[ -r $PID_FILE ]]
then
kill `cat $PID_FILE`
rm $PID_FILE
RET_VAL=$?
else
echo "Could not find PID file $PID_FILE"
RET_VAL=1
fi
;;
restart)
if [[ -r $PID_FILE ]]
then
kill `cat $PID_FILE`
rm $PID_FILE
RET_VAL=$?
else
echo "Could not find PID file $PID_FILE"
fi
$PHP_SCRIPT
RET_VAL=$?
;;
status)
if [[ -r $PID_FILE ]]
then
echo "php-fcgi running with PID `cat $PID_FILE`"
RET_VAL=$?
else
echo "Could not find PID file $PID_FILE, php-fcgi does not appear to be running"
fi
;;
*)
echo "Usage: php-fcgi {start|stop|restart|status}"
RET_VAL=1
;;
esac
exit $RET_VAL
Neredeyse geldik. Aşağıdaki komutlarla da php-fcgi yı başlatabilirsiniz.
chmod +x /etc/init.d/php-fcgi update-rc.d php-fcgi defaults /etc/init.d/php-fcgi start
Tabi bu noktada nginx imizi de artık ayarlamamız gerekiyor.
/etc/nginx/sites-available/www.deneme.com dosyası oluşturalım.
server {
server_name www.deneme.com deneme.com;
access_log /srv/www/www.deneme.com/logs/access.log;
error_log /srv/www/www.deneme.com/logs/error.log;
root /srv/www/www.deneme.com/public_html;
location / {
index index.html index.htm;
}
location ~ \.php$ {
include /etc/nginx/fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /srv/www/www.deneme.com/public_html$fastcgi_script_name;
}
}
Artık /srv/www/www.deneme.com/public_html/index.php dosyamızı ve içerisine phpinfo(); komutunu yazıp çalıştırabilir hale geldik. hemen bir nginx i başlatalım, veya çalışıyorsa yeniden başlatalım.
service nginx restart
Ubuntu nginx uzerine php fastcgi kurulumu (php-fcgi) « Gökhan Tunçkale | Blog
[…] komut ile sistemimize gerekli paketleri kuralım. apt-get in… Devamı için : Ubuntu nginx uzerine php fastcgi kurulumu (php-fcgi) ShareFacebookTwitterStumbleUponMoreTumblrRedditLinkedInDiggEmailPrintBunu beğen:BeğenBunu […]
Ubuntu nginx uzerine php fastcgi kurulumu (php-fcgi) | Boğaç Aslanyürek
[…] komut ile sistemimize gerekli paketleri kuralım. apt-get in… Devamı için : Ubuntu nginx uzerine php fastcgi kurulumu (php-fcgi) This entry was posted in Professional and tagged php-cgi, php-fcgi, ubuntu, Ubuntu nginx […]
Emre Macit
spawn-fcgi: can’t find user name -g gibi bir hata verirse /usr/bin/php-fcgi dosyanızdaki $FASTCGI_USER ve $FASTCGI_GROUP değişkenlerinin yerine www-data yazınız. o şekilde düzelmektedir.
Ubuntu nginx uzerine php fastcgi kurulumu (php-fcgi) « Lé Blog
[…] komut ile sistemimize gerekli paketleri kuralım. apt-get in… Devamı için : Ubuntu nginx uzerine php fastcgi kurulumu (php-fcgi) Share :FacebookTwitterStumbleUponLinkedInLike this:LikeBe the first to like […]
Ubuntu nginx uzerine php fastcgi kurulumu (php-fcgi) « kodluyorum
[…] komut ile sistemimize gerekli paketleri kuralım. apt-get in… Devamı için : Ubuntu nginx uzerine php fastcgi kurulumu (php-fcgi) Share this:TwitterFacebookBunu beğen:BeğenBunu beğenen ilk kişi […]
Ubuntu nginx uzerine php fastcgi kurulumu (php-fcgi) | Kara Kule
[…] komut ile sistemimize gerekli paketleri kuralım. apt-get in… Devamı için : Ubuntu nginx uzerine php fastcgi kurulumu (php-fcgi) Share this:TwitterFacebookBunu beğen:BeğenBunu beğenen ilk kişi olun. By ahmet orsorlu […]
Ubuntu nginx uzerine php fastcgi kurulumu (php-fcgi) « Anil's Blog
[…] komut ile sistemimize gerekli paketleri kuralım. apt-get in… Devamı için : Ubuntu nginx uzerine php fastcgi kurulumu (php-fcgi) Bunu beğen:BeğenBunu beğenen ilk kişi […]