Archive for the ‘Documents’ Category

2. Türkiye PostgreSQL Konferansı

2. Turkiye PostgreSQL Konferans Programi netlesti…
Ilgilenen herkesi bekliyoruz.

FreeBSD ve PostgreSQL Performans notlari

1. PostgreSQL Türkiye Konferansında vermis oldugum FreeBSD uzerinde PostgreSQL kurulum ve performans incelikleri konulu sunumun notlarina buradan ulasabilirsiniz.

Ayrica konferans boyunca yapilan butun sunum notlari da burada

Ilerleyen gunlerde vakit buldukca, sunum notlarimi bir dokuman haline getirip yayinlayacagim bir aksilik cikmazsa..

1. PostgreSQL Türkiye Konferansı

İstanbul Bahçeşehir Üniversitesi Beşiktaş Kampüsü Mühendislik Binası Konferans Salonunda gerçekleşecek olan 1. PostgreSQL Türkiye Konferansı Programı netleşti…

Herkesi bu guzel etkinlige bekliyoruz.

Etkinlik detaylarina http://pgday.postgresql.org.tr/ adresinden ulasabilirsiniz…

30 Nisan 2011 Cumartesi

10.30 Açılış (Devrim Gündüz)
10.45-11.45 Noyan Selçuk Hancıoğlu “FreeBSD uzerinde PostgreSQL kurulum ve performans incelikleri”
11.45-12.00 Ara
12.00-12.30 Çağlar Ülküderner (Profelis) “Kriz Yönetim Yazılımlarında PostgreSQL”
12:30-13:00 Adnan Dursun “PostgreSQL ve PL/PGSQL Dili”
13.00-14.00 Yemek Arası
14.00-15.00 Devrim Gündüz “EnterpriseDB ile Oracle uygulamalarınızıPostgreSQL kalitesi ile tanıştırma”
15.00-15.15 Ara
15.15-15.45 Emin Çalıklı (GreenPlum) “Data Computing Machine”
15:45-16:15 Roy Büyüksimkeşyan (Kartaca) “İki Filin Aşkı: Bir PHP-PostgreSQL Macerası”
16.15-16.30 Ara
16.30-17.00 Onur Palabıyık (Netcad) “Coğrafi Veri yönetimi - Netcad e-BLDY Postgis Uygulama Örnekleri”
17:00-17:30 Kerem Can Karakaş “PostgreSQL 9.0 gömülü replikasyon altyapısı”

FreeBSD’de php/FastCGI destegi ile Nginx kurulumu (2)

Gelelim php/FastCGI kurulumuna;

Bunun icin ilk once PHP’yi kurmamiz gerekiyor.

cd /usr/ports/lang/php5
make config

     ┌────────────────────────────────────────────────────────────────────┐
     │                      Options for php5 5.2.9                        │
     │ ┌────────────────────────────────────────────────────────────────┐ │
     │ │[X] CLI        Build CLI version                                │ │
     │ │[X] CGI        Build CGI version                                │ │
     │ │[ ] APACHE     Build Apache module                              │ │
     │ │[ ] DEBUG      Enable debug                                     │ │
     │ │[X] SUHOSIN    Enable Suhosin protection system (not for jails) │ │
     │ │[ ] MULTIBYTE  Enable zend multibyte support                    │ │
     │ │[X] IPV6       Enable ipv6 support                              │ │
     │ │[ ] MAILHEAD   Enable mail header patch                         │ │
     │ │[ ] REDIRECT   Enable force-cgi-redirect support (CGI only)     │ │
     │ │[ ] DISCARD    Enable discard-path support (CGI only)           │ │
     │ │[X] FASTCGI    Enable fastcgi support (CGI only)                │ │
     │ │[X] PATHINFO   Enable path-info-check support (CGI only)        │ │
     │ │                                                                │ │
     │ │                                                                │ │
     │ │                                                                │ │
     ├─└────────────────────────────────────────────────────────────────┘─┤
     │                       [  OK  ]       Cancel                        │
     └────────────────────────────────────────────────────────────────────┘

 
Onumuze bu sekilde bir menu cikacak, burada cgi, cli ve fastcgi ‘nin secili olmasina dikkat ediyor ve daha sonra
make install clean

Komutunu verdigimiz zaman sevgili portsumuz php5 i kuracaktir. Daha sonra; 

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

komutlarini verip ihtiyac duyulan php extensionlarini kuruyoruz (php-pgsql, php-gd php-mysql vs.)

Kurulum bittikten sonra;

spawn-fcgi dosyasina ihtiyacimiz olacak Nginx’de php calistirabilmek icin. FreeBSD altinda bu dosyayi temin etmenin en kolay yolu; lighttpd paketi icinden spawn-fcgi dosyasini cikartmak olacaktir. Kullandiginiz FreeBSD surumu ve mimariye gore (amd64, i386, IA64 vs.) ftp.freebsd.org adresinden derlenmis paketi temin edebilirsiniz. 

Temin ettigimiz spawn-fcgi dosyaini /usr/local/bin/ altina tasidiktan sonra;

/usr/local/bin/spawn-fcgi -a 127.0.0.1 -p 9999 -u www -g www -f /usr/local/bin/php-cgi

komutu ile  PHP Fastcgi yi baslatiyoruz. 

Peki bu komutta neler var?

-a 127.0.0.1: Nginx’in php dosyalarini calistirabilmesi icin baglanacagi FastCGI adresi.

-p 9999: Nginx’in php dosyalarini calistirabilmesi icin baglanacagi port numarasi.

-u/-g: PHP FastCGI’in altinda calisacagi kullanici adi ve grup.

-f /usr/local/bin/php-cgi: PHP5 fastcgi dosyasinin bulundugu yol.

php/FastCGI’imizin calistigindan emin olmak icin:

sockstat -4 | grep 9999 komutunu veriyor ve

[root@mx-backup /usr/home/noyan]# sockstat -4|grep 9000
www      php-cgi    2033  0  tcp4   127.0.0.1:9999       *:*
www      php-cgi    2032  0  tcp4   127.0.0.1:9999       *:*
www      php-cgi    2031  0  tcp4   127.0.0.1:9999       *:*
www      php-cgi    2030  0  tcp4   127.0.0.1:9999       *:*
www      php-cgi    2029  0  tcp4   127.0.0.1:9999       *:*
www      php-cgi    1933  0  tcp4   127.0.0.1:9999       *:*

ciktisini gorup rahat ediyoruz :)

Her seferinde bu komutu vermek yerine; bir rc scripti ile bu islemi yapabiliriz.


#!/bin/sh
# NGINX FastCGI php5 startup shell script
# Feedback
# http://bash.cyberciti.biz/web-server/fastcgi-php-server-start-stop-script/
# Set ME #
PROVIDES=php-cgi
LIGHTTPD_FCGI=/usr/local/bin/spawn-fcgi
SERVER_IP=127.0.0.1
SERVER_PORT=9999
SERVER_USER=www
SERVER_GROUP=www
PHP_CGI=/usr/local/bin/php-cgi
PGREP=/bin/pgrep
KILLALL=/usr/bin/killall
### No editing below ####
cmd=$1

pcgi_start(){
echo "Starting $PROVIDES..."
$LIGHTTPD_FCGI -a $SERVER_IP -p $SERVER_PORT -u $SERVER_USER -g $SERVER_GROUP -f $PHP_CGI
}

pcgi_stop(){
echo "Killing $PROVIDES..."
$KILLALL $PROVIDES
}

pcgi_restart(){
pcgi_stop
pcgi_start
}

pcgi_status(){
$PGREP $PROVIDES > /dev/null
[ $? -eq 0  ] && echo "$PROVIDES running" || echo "$PROVIDES NOT running"

}

pcgi_help(){
echo "Usage: $0 {start|stop|restart|status}"
}

case ${cmd} in
[Ss][Tt][Aa][Rr][Tt]) pcgi_start;;
[Ss][Tt][Oo][Pp]) pcgi_stop;;
[Rr][Ee][Ss][Tt][Aa][Rr][Tt]) pcgi_restart;;
[Ss][Tt][Aa][Tt][Uu][Ss]) pcgi_status ;;
*)      pcgi_help ;;
esac

Bu script’i /usr/local/etc/rc.d/php.cgi.sh olarak kaydettikten sonra;

/usr/local/etc/rc.d/php.cgi.sh start komutu ile fastcgi’i calistirabilir

/usr/local/etc/rc.d/php.cgi.sh stop komutu ile fastcgi’i durdurabiliriz.

Son olarak Nginx’e de php dosyalarini calistirmak icin yapmamis gerekenler:

Ilk once sevdigimiz bir editor ile /usr/local/etc/nginx/nginx.conf dosyasini aciyor ve


location ~ \.php$ {
fastcgi_pass   127.0.0.1:9999;
fastcgi_index  index.php;
fastcgi_param  SCRIPT_FILENAME  /usr/local/www/nginx$fastcgi_script_name;
include        fastcgi_params;
}

location direktorunu Server { … } kismina ekliyoruz.

Herhangi bir hataya mahal vermemek icin nginx -c /usr/local/etc/nginx/nginx.conf -t komutu ile ayar dosyamizin dogruludan emin olduktan sonra /usr/local/etc/rc.d/nginx restart komutunu vererek Nginx’i yeniden baslatiyoruz.


<?php

phpinfo();
?>

ile son testi yaptiktan sonra da Nginx’imizi mutlu mesut gunlerde kullaniyoruz :)

FreeBSD’de php/FastCGI destegi ile Nginx kurulumu (Bolum 1)

 

Kaynak:

http://nginx.net/

http://www.cyberciti.biz/

FreeBSD’de php/FastCGI destegi ile Nginx kurulumu (1)

FreeBSD altinda, Nginx‘e php destegi vermek istiyorsaniz eger, bir kac adimda Nginx’e php-FastCGI destegini ekleyebiliyoruz….

yapmamiz gerekenler aslinda basit:

Nginx Kurulumu:

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

  

     ┌────────────────────────────────────────────────────────────────────┐
     │                     Options for nginx 0.6.35                       │
     │ ┌────────────────────────────────────────────────────────────────┐ │
     │ │[ ] DEBUG                    Enable nginx debugging             │ │
     │ │[ ] GOOGLE_PERFTOOLS         Enable google perftools module     │ │
     │ │[X] HTTP_MODULE              Enable HTTP module                 │ │
     │ │[ ] HTTP_ACCESSKEY_MODULE    Enable http_accesskey module       │ │
     │ │[X] HTTP_ADDITION_MODULE     Enable http_addition module        │ │
     │ │[ ] HTTP_DAV_MODULE          Enable http_webdav module          │ │
     │ │[ ] HTTP_FLV_MODULE          Enable http_flv module             │ │
     │ │[ ] HTTP_GZIP_STATIC_MODULE  Enable http_gzip_static module     │ │
     │ │[ ] HTTP_PERL_MODULE         Enable http_perl module            │ │
     │ │[ ] HTTP_REALIP_MODULE       Enable http_realip module          │ │
     │ │[X] HTTP_REWRITE_MODULE      Enable http_rewrite module         │ │
     │ │[ ] HTTP_SSL_MODULE          Enable http_ssl module             │ │
     │ │[X] HTTP_STATUS_MODULE       Enable http_stub_status module     │ │
     │ │[ ] HTTP_SUB_MODULE          Enable http_sub module             │ │
     │ │[ ] MAIL_MODULE              Enable IMAP4/POP3/SMTP proxy module│ │
     ├─└────v(+)────────────────────────────────────────────────────────┘─┤
     │                       [  OK  ]       Cancel                        │
     └────────────────────────────────────────────────────────────────────┘

karsimiza bu sekilde bir configure ekrani cikiyor. Ben Http_module, addition, rewrite ve status module’u sectim. kendi isteginize gore diger moduleleride secmek sizin elinizde tabikide.

OK dedikten sonra kurulumu sevgili portsumuz zaten yapiyor.

daha sonra echo ‘nginx_enable=”YES”‘ >> /etc/rc.conf komutunu verip sistem acilisinda otomatik olarak Nginx’in baslamasini sagliyoruz (bu da tabi size kalmis bir karar, yok ben ek ile baslatmak istiyorum derseniz eger /usr/local/etc/rc.d/nginx start diyerek el ile calistirabilirsiniz.)

FreeBSD’de Nginx’in varsayilan ayarlari:
/usr/local/etc/nginx/nginx.conf -> Ayar dosyasi
80 / 443 -> varsayilan http ve https portu
/var/log/nginx-error.log -> error log
/var/log/nginx-access.log -> access log
/usr/local/www/nginx/ -> document root

Nginx’in calistirilmasi ve test edilmesi:

/usr/local/etc/rc.d/nginx start komutu ile Nginx’i calistirabilirsiniz. Burada dikkat etmeniz gereken bir nokta var. Eger rc.conf dosyasina nginx_enable=”YES”  satini eklemediyseniz, servis baglatilmayacaktir.  O yuzden rc.conf a gerekli eklemeyi yapmali veya /usr/local/etc/rc.d/nginx den bir kac degisiklik ile el ile baslatilabilir hale getirebilirsiniz. rc.d dosyalarinda degisiklik ilemini pek tavsiye etmedigim icin o konuya hic girmeyecegim ;) 

Nginx’i durdurmak icin /usr/local/etc/rc.d/nginx stop ve yeniden baslatmak icinse /usr/local/etc/rc.d/nginx restart komutlarini kullanabilirsiniz.

Nginx’in ayar dosyasini test etmek ve olasi hatalari gormek icinse:

nginx -c /usr/local/etc/nginx/nginx.conf -t komutunu kullanabilirsiniz. 

Eger ayar dosyasinda herhangi bir hata yok ise:

[root@mx-backup /usr/home/noyan]# nginx -c /usr/local/etc/nginx/nginx.conf -t

2009/03/28 13:49:46 [info] 64526#0: the configuration file /usr/local/etc/nginx/nginx.conf syntax is ok

2009/03/28 13:49:46 [info] 64526#0: the configuration file /usr/local/etc/nginx/nginx.conf was tested successfully

Seklinde bir cikti alacaksiniz, problem yok, harika!..

Artik gonul rahatligiyla /usr/local/etc/rc.d/nginx start komutunu verip, Nginx’i calistirabiliriz…

 

FreeBSD’de php/FastCGI destegi ile Nginx kurulumu (Bolum 2)

Dayt Dayt Dayt

Ahanda bilmem kacinci kez actik tekrar nlog’u…

Bakalim bu kac zaman dayanacak :)

Archives

You are currently browsing the archives for the Documents category.