Bu dokumanin daha guncel ve kolay anlatimi icin buraya bakabilirsiniz: Centos/Cpanel sunucularda nginx kurulumu – 2

Arkadaslar nginx nedir, neler yapar kisaca bir kac cumle ile belirtip hemen dokumani hazirlamaya baslayacagim. Detaylarina daha sonraki yazilarimda girecegim. Nginx apache gibi bir websunucusudur. Ancak kendi akranlarindan cok daha iyidir, oyleki ucretli litespeed den bile daha iyi olarak nitelendirilmektedir, cogu buyuk mecralarda da kullanilmaktadir. Ben kesinlikle apache kullaniyorsaniz yanina nginx ide katip devam etmenizi oneririm. Hem saldirilara karsi, hemde site hizi, sunucu yuku gibi durumlarda tam bir battal gazi diyebilirim :) Neyse kisa bir edebiyat ve direk konumuza geciyorum. Centos ve cpanelli sunucularda nginx kurulumunu anlatacagim. Dokuman denenmistir ve yazinin yazildigidi tarih gunceldir. Pleskde denemedim ama yakinda onuda deneyip onun icinde bir yazi hazirlayacagim.

Size anlatacagim yontem apache ile stabil calisan ve url rewrite kurallarini yine sitenizin .htaccess dosyanizdan belirtebileceginiz sekilde yapabilmenizi saglayacak. bunun icin apacheye lazim olacak olan bir kac modulu kurmamiz gerekiyor. isterseniz oncelikle onlardan baslayalim:

Baslamadan once bilmeniz gerekenler:
1 – SSH ile asagidaki islemler gerceklestirilecek, ara ara WHM panelden de ayar yapmamiz gerekecek.
2 – dosya duzenlemelerinde ve olusturmalarinda nano programini kullanacagiz, dosya kaydedip cikmak icin bu sirayi izlemeniz yeterli: F2 –> Y –> ENTER
3 – Hosunuza giden bir muzik acmanizda gerekebilir, motivasyon acisindan cok onemli..

1 – Apache icin mod_rpaf kurulumu:
mod proxy and forward denilen bu modul sayesinde biz nginxden gelen istemlerin normal istemciden gelmish gibi gorunmesini saglayacagiz.

Guncel modul versiyonu icin buraya bakabilirsiniz (asagidaki gunceldir): http://stderr.net/apache/rpaf/download/

mod_rpaf kurulduktan sonra WHM panelinizi acin ve asagidaki yolu izleyin:

WHM: Main >> Service Configuration >> Apache Configuration > Include Editor > Pre Main Include

Asilan sayfada pre main include kismindaki seceneklerden kullandiginiz versiyonu secin (all version) ve altinda acilan bos yere asagidakileri ekleyin ve kaydedin: (ornek resim)

Kod icerisinde de belirtilen ip kisminin devamina sunucuda ekli olan butun ipleri bir bosluk birakarak yazmaniz gerekli, aksi halde istatistik programlari veya scriptleri her ziyaretciyi default sunucu ip sinde gorecektir, yani kod icerisindeki (127.0.0.1) ipsinden.
NOT: 127.0.0.1 ip adresini silmemeniz gerekli, diger ip adreslerini devamina eklemeniz gerekli.. (sunucuda kac ip varsa hepsini bir bosluk birakarak devamina ekleyin.)

2 – PCRE kütüphanesini Yüklemek (Guncellendi – pcre 8.20)

Son sürümü buradan indirebilirsiniz:

Bu modulunde kurulumu bittikten sonra sira geldi Nginx’i kurmaya.

3 – Nginx Kurulumu
Nginx’in son surumunu indirmek icin buraya bakabilirsiniz. eger konuda anlatilandan daha yeni bir versiyon varsa onu uyarlayip kuruluma devam edin. ( nginx-nginx-1.0.11 stable version guncellendi )

Stable versiyon KURULUMU

Development versiyon KURULUMU
Development versiyon, gelismis kullanicilarin gelistirme amacli kullanabilecekleri versiyon, lutfen gelistirme amacli kullanmayacaksaniz stable versiyonu kurun, yani ustdekini.

Suanki Nginx Development versiyonu 1.1.13 ; Kurulumu ise asagidadir:

Sonrasinda nginx hata loglari icin bir klasor olusturalim:

Bu hata log olayini daha sonra nginx config dosyasinda duzenleyebilirsiniz (/usr/local/nginx/conf/nginx.conf)

4 – Apache Portunu duzenlemek
Bu adimda genelde 80 portunu kullanir apache, biz bunu nginx okuyabilecegi sekilde duzenleyecegiz ve 81 portunu acacagiz. boylece DOMAIN.COM:80 olarak girildiginde apache calisacak, DOMAIN.COM:81 seklinde girildiginde de nginx calisacak. Boylece gelen istekleri yonlendirecegiz.

Yine WHM panelinize girin ve asagidaki yolu takip edin:
WHM: Main >> Server Configuration >> Tweak Settings

Bu sayfada asagidakilerden birisini aratin:
1: Apache non-SSL IP/port
2: 0.0.0.0:80

(bunu: 0.0.0.0:80 bu sekilde degistirip kaydedeceksiniz: 0.0.0.0:81)

Buradaki resimdeki gibi bir alan bulmaniz gerekli, sonrasinda 80 olan kismi siz 81 olarak degistirip en altan ayarlari kaydet yapacaksiniz.

Bu islemden sonra asagidaki kodu calistiriyoruz:

Ardindan asagidakileri yapip ayarlari tam kaydediyoruz:

Sonrasinda bir script yazarak ve calistirarak hesabinizdaki sitelerin config dosyasini otomatik olusturmasini saglayacagiz. Bunun icin asagidaki sirayi takip edin:

acilan bos ekrana asagidakileri kopyalayip yapistirin:

Dosya iznini duzenleyip calistiralim: # chmod 755 nginx.sh # sh nginx.sh Bu islemden sonra hesabinizda var olan siteler icin config dosyasi olusturacak. Asagidaki komutu kullanarak ayarlarin dogru olup olmadigini kontrol ediyoruz: # /usr/local/nginx/sbin/nginx -t Simdide ssh den nginx programini yeniden baslatma, kapatma, baslatma gibi fonksiyonlari kazandirabilmemiz icin gereken scripti yazip kaydediyoruz. Bunun icin asagidaki adimi izlemeniz yeterli olacaktir: # nano /etc/init.d/nginx Bos ekrana asagidaki kodlari yapistirip kaydedin:

Olusturulan dosya izinlerini duzenleyip baslatiyoruz:

Tekrar config dosya ayarlarinin duzgun olup olmadigini kontrol ediyoruz:

Ve Buyuk An Nginx’i baslatiyoruz:

Sorunsuz basladiginiz goruyorsaniz islemleri basari ile gecmissiniz demektir :)

istediginiz zaman nginxe asagidaki sekilde restart atabilirsiniz (yani yeniden baslatabilirsiniz):

**************

Resim, imaj, css, js,rar,zip,exe v.s gibi dosyalarin nginx tarafindan islenmesi icin yapmaniz gerekenler:

Resim, css, js gibi dosyalari nginx in islemesi icin vhost.conf (/usr/local/nginx/conf/vhost.conf) dosyasinda asagidaki gibi kodlar olacak onlarin basinda # isaretlerini kaldirmaniz gerekli:

Bunu yapmanizi kesinlikle oneririm, cunku statik dosyalari nginx e yonledirirsek cok daha yuksek hiz farkini elde edebilirsiniz.. Boylece Apacheye gelen istek sayisi dusecegi icin sunucuya binecek yukde minumum duzeyde olacaktir..

ornek isratleri kaldirinca bu sekilde oluyor:

NOT: $ROOT kismini sitenizin yolu ile degistirin. Ornegin: /home/kuazaland/public_html
******************

UYARI: Bazi arkadaslar stable versiyon ile development versiyonu karistiriyorlar. Kurmaniz gereken versiyon herzaman stable versiyon olmalidir. Cunku development versiyon gelistirme surumudur. Eger gelistirici degilseniz stable versiyonu kurmaniz yeterlidir. Gelistirme amacli kurup gelistirmek isteyenler development versiyonu kurabilirler..

Makaledeki nginx kurulumu son versiona guncellendi: nginx 1.1.13 Developmend ve nginx 1.0.11 Stable versiyon ve pcre 8.20 : 26/01/2012 / 00:32

Herhangi bir sorunda konu altindan bilgilendirme yaparsaniz, makale o yonde guncellenecektir. Yaziyi hazirlarken yararlandigim orjinal kaynak da burasi. Kolay gelsin.

310 YORUMLAR

  1. configurasyon değişikliği yapıldığında sitenin kesintiye uğramaması için restart etmeden config dosyasını yeniden okumasını sağlayabiliriz.

    service nginx reload

  2. Hocam eline sağlık on numara paylaşım olmuş, sayende kurdum. Bir de merak edenler olabilir benim gibi, apache ye geri dönüşü de anlatabilirse, nginx’i kaldırmadan veya kaldırarak nasıl apache ye dönüş yapabiliriz?

  3. Apache 80. portda calisiyor olacak, burdakileri yaptiginizda apache yine calisiyor olacak zaten, ornegin nginx e gondermediginiz uygulamalar yine apacheye gonderilerek islenir ve yorumlanir. Bu apachenin uzerindeki yuku %80 aldigi icin cok faydasi olur. sitelerin config dosyasinda (nginx) nginx in yorumlayacagi uygulamalari belirliyoruz.

    siz bu kisimdan nginx’in calistirmasini istemediginiz uzantilar varsa silebilirsiniz. yada nginx kalsin apache calissin istiyorsaniz, yazida da belirttigimiz bir kac islemi geri almaniz gerek. En basinda http.conf dosyasinda yaptigimiz 80 portunu 81 olarak degistirdigimizi geri alarak gelen isteklerin nginx e degilde apache ye gitmesini saglayabiliriz. Sanirim bunu yapinca nginx yerine apache calisacaktir. degisiklikten sonra httpd restart atmaniz gerek, sorun yoksa tamamdir :) deneyip burayada yazarsan sonuclari sevinirim.

  4. Arkadaslar kuaza ustaya cok tesekkur etmek istiyorum.Ngix kurmadan once siteye giremiyordum ve gunde 10 kez sunucuya reboot atiyordum.Kendisi cok sagolsun yardim etti ve bu dokumandaki gibi kurulum yapildi.Su an load lar ve sunucu cok iyi durumda siteler acaip sekilde hizli.Kendisine cok tesekkur ediyorum cok sagolsun.Gercekden buyuk usta kendisi..

    Ngix kurulumunda ve ayarlamasinda Kuaza ustadan buyuk yok kendisini siddetle tavsiye ederim..

    http://www.Tvmakinesi.com

  5. Evet hocam, iki tane httpd.conf yaptım ve biri nginx için biri sadece apache için sorunsuz geçiş yapabiliyorum. Benim kafama takılan bir soru var yalnız. vbseo kullanıyorum, nginx i aktif ettim ve htaccess dosyam apache’ye göre ayarlı. ama yinede url rewrite yapıyor bunu anlamadım :) nasıl oluyor bu? bide online.php’de misafirlerin iplerini göremiyorum, misafir iplerinin yerine sunucunun ipsi görünüyor. şu an için çok load problemi yaşamadığım için apache ile devam ediyorum ama nginx e kalıcı olarak geçmek istiyorum bu kafamdaki soru işaretleri gidince :)

  6. ikinci paragrafdada bahsettim kurdugumuz apache modulleri sayesinde rewrite kurallarimizi yine apachedeki gibi kullanabiliyoruz.. ip kismi ise nginx e yonlendirilen isteklerin geldigi ipyi gosteriyor sanirim, ama bunun olmamasi gerek diye dusunuyorum cunku kurdugumuz ilk apache modulunun bu isi yapmasi gerekiyordu.

  7. SetHandler server-status
    Order deny,allow
    Allow from all
    bu kısmı WHM: Main >> Service Configuration >> Apache Configuration > Include Editor > Pre Main Include buraya apache versiyonuna göre ekleyince malesef apache başlamıyor. sadece burası LoadModule rpaf_module modules/mod_rpaf-2.0.so ve devamını ekleyince apache çalışıyor.

  8. hocam burayı RPAFproxy_ips 127.0.0.1 yapınca domlogs da da tüm ziyaretçilerin ipsi sunucunun ipsi oluyor, ben burayı RPAFproxy_ips sunucuipsi olarak kaydettim ve gerçek ziyaretçi iplerini görmeye başladım. ama şu kısmı ekleyemiyorum.

    SetHandler server-status
    Order deny,allow
    Allow from all

    bunu ekleyince apache başlamıyor. nedenini bilmiyorum ama
    Syntax error on line 1 of /usr/local/apache/conf/includes/pre_main_2.conf:
    directive requires additional arguments

    hatasını alıyorum. ama o satırı eklemeden de sorunsuz çalışıyor gibi.

    o satırın işlevi nedir acaba?

  9. gozumden kacmis, sunucudaki ip adreslerini belirtmeniz gerekli kod kisminda, makaleyi ona gore duzenledim. ilk kisimdaki duzenlemeyi tekrar kontrol edip uygularsaniz sevinirim, cunku ne kadar IP ekli ise sunucuda bunu belirtmek gerekli, aksi halde bu IP lere ait sitelere gelen ziyaretcilerin ip leri sunucudaki proxyden geliyor gibi gorunecektir..

  10. bende o şekilde yaptım zaten, ama o ilk satırdaki location kısmını ekleyince çalışmıyor apache :) neyse böylede çalışıyor sorunsuz ama o kodun işlevini nedir bilemiyorum.

  11. teşekkürler peki hali hazırdaki htaccess de bir işlem yapmam gerekiyor mu bir de ben html içinde php kodları çalıştırıyorum. nginx.conf içine

    location ~ .htm$ {
    root html;
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.htm;
    include fastcgi.conf;
    }
    kodunu ekleyince çalışıyordu. bunu yapmam gerekir mi?

  12. hayir bunu yapmaniza gerek yok, zaten makalenin basinda da belirttim, kurdugumuz bir kac apache modulu sayesinde nginx in url rewrite kurallariyla ugrasmamiza gerek kalmiyor, kolayca eskisini kullanabiliyorsunuz. Yani eskisi gibi normal apache rewrite kurallari gecerli olacaktir..

    Ancak belirtmem gerekli, resim, css, js gibi dosyalari nginx in islemesi icin vhost.conf dosyasinda asagidaki gibi kodlar olacak onlarin basinda # isaretlerini kaldirmaniz gerekli:

    #location ~* .(gif|jpg|jpeg|png|wmv|avi|mpg|mpeg|mp4|js|css)$ {
    # root $ROOT/public_html;
    #}

    Bunu yapmanizi kesinlikle oneririm, cunku statik dosyalari nginx e yonledirirsek cok daha yuksek hiz farkini elde edebilirsiniz..

    ornek isratleri kaldirinca bu sekilde oluyor:

    location ~* .(gif|jpg|jpeg|png|wmv|avi|mpg|mpeg|mp4|js|css)$ {
    root $ROOT/public_html;
    }

  13. vhost.conf nerede bulunur makalenizdeki işlemlerde bu yapılmıyor mu? Bir script hazırlamışınız. Yani bu script # işaretiyle vhost dosyasını editliyor kaldırmak bize düşüyor. Peki rar, zip veya exe dosyaları için ne yapmalıyız. Bir de bu dosyaların değiştiği zaman orjinalini çekmesini nasıl sağlayacağız. cache den değilde sunucudan. Son olarak demek ki ben bu kuruluma başlamış olsaydım makaledeki yazılanlar eksik kalacaktı. Kurulum gibi kaldırma işlemini de anlatırsanız 4×4 bir makale olur.

  14. Eksik kalacakti diyemeyiz aslinda, sizin sorduklariniz sizin ihtiyaclariniz dogrultusunda olanlar, baskalari icin gerekli olmayabilir. Ancak ne kadar soru gelirse o kadar iyi olur, cunku baskalari icinde yol gosterici olacaktir. Bu yuzden her yoruma itina ile yanit vermeye calisiyorum.

    Makalede anlatilanlar herseyi otomatik halletmemizi sagliyor, islemlerden sonra kendinize gore duzenlemek kaliyor ki nginx konusunda cok bilgi sahibi olmadiginizi anliyorum, sorup ogrenmek istemeniz guzel, bir bilginin pesinden ne kadar israrla giderseniz o kadar etkili ogrenmis olursunuz.

    vhost.conf dosyasi normalde burada olur: /usr/local/nginx/

    nginx in config dosyasininda burda oldugunu hatirlatmak isterim.

    Nginx i kaldirmak istiyorsaniz yapacaginiz tek sey degistirdiginiz port lari geri duzenlemek olacaktir yani 80’i 81 yaptiniz, bu islemi tersinz uygulayin yeterli olacaktir.

  15. Aynen bende hem kendime hemde başkalarına faydası olsun diye soruyorum. Kuruluma başlamadan önce olası sorunları çözmek için uğraşıyorum yani kuruluma başlayacağım, size de ihtiyaç duyduğum zaman burada bulamayabilirim. Başımdan geçen sorunları burada yazacağım zaten. Son olarak Cache meselesi kalmış.

  16. location ~* .(gif|jpg|jpeg|png|wmv|avi|mpg|mpeg|mp4|js|css)$ {
    root $ROOT/public_html;
    }
    bu bölüme zip, rar .exe eklediğimizde bu dosyaları nginx tarafına bırakmış oluyoruz. kullandığım htaccess de aşağıdaki satırlar var. sürekli xml ve html dosyalarını sunucudan yükletiyorum. nginx tarafında ne yapmalıyım. ama sürekli sunucudan çekmek yerine dosyanın değişip değişmediğini tespit edip ona göre sunucudan çeksin benim sürekli aynı isimde günde birden fazla güncellediğim bir dosya var mesela. ikinci güncelleyişte kullanıcı kendi harddiskinde ki eski dosyayı değilde sunucudan çeksin.

    aşağıdaki kod sürekli sunucudan alır

    FileETag None
    Header unset ETag
    Header set Cache-Control “max-age=0, no-cache, no-store, must-revalidate”
    Header set Pragma “no-cache”
    Header set Expires “Wed, 11 Jan 1984 05:00:00 GMT”


  17. Hakan:

    location ~* .(gif|jpg|jpeg|png|wmv|avi|mpg|mpeg|mp4|js|css)$ {
    root $ROOT/public_html;
    }
    bu bölüme zip, rar .exe eklediğimizde bu dosyaları nginx tarafına bırakmış oluyoruz. kullandığım htaccess de aşağıdaki satırlar var. sürekli xml ve html dosyalarını sunucudan yükletiyorum. nginx tarafında ne yapmalıyım. ama sürekli sunucudan çekmek yerine dosyanın değişip değişmediğini tespit edip ona göre sunucudan çeksin benim sürekli aynı isimde günde birden fazla güncellediğim bir dosya var mesela. ikinci güncelleyişte kullanıcı kendi harddiskinde ki eski dosyayı değilde sunucudan çeksin.

    aşağıdaki kod sürekli sunucudan alır

    FileETag None
    Header unset ETag
    Header set Cache-Control “max-age=0, no-cache, no-store, must-revalidate”
    Header set Pragma “no-cache”
    Header set Expires “Wed, 11 Jan 1984 05:00:00 GMT”

    nginx tarafindan birsey yapmaniza gerek yok, daha oncede yazdim. Ancak sizin anlatmak istediginizi anladim. kendi htaccess dosyanizdaki o tarz kodlar sitenize giren bir kisinin tarayicisinin cache almasini ve ikinci kez girdiginde kendi bilgisayarindaki tarayici cache sinden siteyi acmasini saglamaktadir. Bunun icin o kodlari kaldirabilirsiniz, ancak buna gerek oldugunuda sanmiyorum, cunku download islemlerinde herzaman karsi sunucudan dosyayi indirecektir. Yani kullanicinin kendi bilgisayarinda daha once indirdigi dosyanin bu konuya dahil olmamasi gerek..

  18. o kodlar olmasa oluyor işte. örneğin dosyanın ismi aynı fakat ben dosyanın içeriğini değiştirdim. kullanıcı tekrar dosyayı indiriyor, indirdiğiniz zannediyor aslında, daha önce indirdiği dosya tarayıcı önbelleğinden getiriliyor test ile sabittir.

    sanırım buldum
    http://wiki.nginx.org/HttpHeadersModule

    bir de size şu yazıyı tavsiye ederim nginx + memcache ikilisi uçuruyor.
    http://www.igvita.com/2008/02/11/nginx-and-memcached-a-400-boost/

  19. memcached birden fazla sunucular icin gelistirilen bir cache yazilimidir. ancak tek sunucuda da kullanilabilir. Ama Diger cache yazilimlarina nazaran fazla bir etkisi yok. Birden fazla sunucu olursa cok iyi etkileri olacagini soyleyebilirim.

  20. cpanel den yeni bir hesap oluşturduğunuzda veya bir domain eklediğinizde sh nginx.sh komutunu çalıştırmalısınız. /usr/local/apache/conf/httpd.conf içinde prefork.c ayarını artık apache ye daha az yük bineceği için kendinize göre optimize edebilirsiniz.

    StartServers 8
    MinSpareServers 2
    MaxSpareServers 5
    MaxClients 80
    MaxRequestsPerChild 0

  21. Ancak daha once nginx’in vhost.conf dosyasinda yaptiginiz duzenlemeler varsa kesinlikle yedek alin. cunku dedigin sekilde nginx.sh batch scripti calistirildiginda daha once duzenlediginiz siteye yada sitelere ozel nginx vhost.conf dosyasi ayarlarinin hepsi sifirlanacaktir. Bunuda dikkate almanizi oneririm.

    Apache duzenlemesi icinde tesekkurler, yardimci olabilecek bir uygulama ancak cogu islem nginx e yonlendirildigi icin apachede bir duzenleme yapmaya gerek yok, illa bir optimizasyon yapilacaksa bu php ve mysql programlarinda ve kullandiginiz scriptin php ve mysql sorgularinda olmali.

  22. Bilgi: Bugün siteniz 14:30 15:00 arası nginx 504 hatası verdi.

    Nginx i yükledim whm de Main >> Server Status >> Apache Status Requestler inanılmaz düştü. Bu nginx in çalıştığını gösteriyor sanırım.

    Ancak ilk başlarda siteye giremedim. önce apache ye restart attım sonra ssh den service nginx start ile başlatabildim. yani restart yaptığım halde durduruyor ama yeniden başlatmıyor.

    sitede mybb forum sorunsuz, html içinde php çalışan bir html site ve bu siteye yönlendirilmiş bir domain var. vhost.conf içinde bu yönlendirilen domain için statik dosyalari nginx e yönlendirme yaptığımda nginx başlamıyor gibi geldi bana. Yani şu an çalışıyor ama vhost.conf içinde işlem yapmaya korkuyorum.

  23. SEbebi url rewrite kullanmamiz. eger rewrite ile php uzantili dosyalari .html seklinde gosteriyorsak nginx bunu statik dosya olup okumaya calisir. Boylece de php dosyasi php programi ile islenemedigi icinde hata verir. buna birde mysql v.s komutlari katilinca hata ustune hata alirsiniz. bu sebeple php ve diger mysql gibi islemleri apache ye birakiyoruz :)

  24. Bugun çin ulkesinden buyuk sekilde saldiri aldik, kucuk capta olsa iyidi ama bu tarz bir saldiriya bence nginx cok iyi dayandi :) Sonunda Cin ulkesini banlayarak kurtulabildim bu saldiridan, Allahlarindan bulsunlar yapanlar ne diyelim :) ama genel saldirinin kuaza.com a degilde kuaza.com e geldiginide bildirmek siterim.

    nginx calisiyorsa tamamdir, kac siteniz var ve hepsi sorunsuz aciliyormu, vhost.conf icinde hepsi icin ayar kodlari varmi. Bunlari goz onune alarak cevap yazarsan sevinirim.

    Soyledigin soruna yakin bir problem plesk panel denemelerinde karsima cikti, bir turlu nginx i oturtamadim. dedigin gibi restart attigimda stop yapiyor ama baslatmiyordu. Seninde eger sitelerinde sorun yoksa vhost.conf duzenlemelerinden sonra ilk yorum daki victories arkadasimin yazdigi kodu kullanarak restart atmadan ayarlari etkinlestirebilirsin..

  25. geçmiş olsun. çinden oluyor böyle saldırılar zombi makine çok. service nginx reload bu komutu dener yazarım. Yani apache istekleri azaldı bu çalıştığını gösterir sanırım. exe,rar ve zip dosyalarını da ekledim daha restart etmedim. v_host.conf içinde bir alan adı, subdomian forum için ve yönlendirilen domain için 3 tane ayar mevcut.

  26. Tesekkurler, Nginx calisiyorsa zaten sunucuda gozle gorulur bir fark olacaktir ki siz de de olmus sanirim :) apache istekleri azalir, cunku yuku bolduk, nginx ide ortak ettik :D

    denemelerinden sonra bir kac domain daha ekleyip nginxi test etmeni oneririm, simdiden denemelerini yap :)

  27. Web server kismi nginx i gosteriyorsa tamamdir :) ama siz yinede gece fazla ziyaretci olmadigi anlarda denemelere devam edin, ilerde sorun cikarsa hazirlikli olursunuz :)

  28. yok bende hic sorun cikmadi. Benim soylemek istedigim simdiden bak sorun varsa cozmesi kolay olur, ama ilerde sorun cikar ansizin musait olmazsin, yada yardim edecek birini bulamazsin kalirsin oyle :D

  29. Eğer subdomain kullanıyor veya bir alan adını farklı bir public_html içinde farklı bir klasöre yönlendirmişseniz. v_host.conf içinde tam yolu yazmalısınız.

    location ~* .(gif|jpg|jpeg|png|js|css|ico|zip|rar|exe|wmv|avi|mpg|mpeg|mp4)$ {
    root $ROOT/public_html/subdomain klasörü;
    }

    ayarların etkin olması için service nginx reload komutunu kullanın.

  30. Dostum her gün aynı saatte saldırı alıyorsun sanırım. ufak bir script işine yarayabilir.

    #!/bin/bash
    #
    netstat -nap|grep SYN_RECV |awk ‘{print $5}’|cut -d: -f1|sort|
    uniq -c|sort -n|grep -v 127.0.0.1|awk ‘{if ($10 > 1) print $2;}’ > /root/ipler
    while read ipler; do iptables -A INPUT -s $ipler -j DROP ; done < /root/ipler

    ddos.sh olarak kaydet. 10 değeri syn sayısıdır. 10 den büyük syn si olanları banlar.
    sonra 5dk da bir otomatik çalıştıralım.

    pico /etc/crontab
    boş bir dizine
    */5 * * * * root /root/dd.sh

    kaydet.

    service crond restart

  31. çin suanda engelli, ancak biraz once engeli kaldirdim, saldiri varmis, dunden beri engelliydi çin cok ilginc saldiri hic hiz kesmemis… ayrica bu yazdigin islem icin detay verebilirmisin, eger faydali biseyse bunun icinde bir yazi yazmamiz guzel olur. Eger yazarim dersen icerik gonderebilmen icin statunu duzenleyeyim :)

  32. ssh ekranindan df -h yaparak sunucudaki alan bilgilerinize bakin ve buraya ekleyin. Bazen cok loglar ve hata bilgileriyle dolup sorun cikartabiliyor. Bir diger sebep de saldiri oluyordur :)

  33. Teşkkürler. Sorun dışarıdan php ile çektiğim veridenmiş. Şimdi php yi de fastcgi ile nginxe bırakmaya ve whm deki httpd kontrolünü nginx için yapacak bir script hazırlamaya çalışıyorum.

  34. RPAFproxy_ips 127.0.0.1 (sunucuda kac ip varsa hepsini bir bosluk birakarak ekleyin. ornek: IP1 IP2 IP3 v.s)

    ben bu ayarı RPAFproxy_ips ip1 ip2 şeklinde yapmıştım. RPAFproxy_ips 127.0.0.1 ip1 ip2 olacakmış. 127.0.0.1 kalkmayacakmış. bugün bir load sorunu oldu. nginx.conf ve vhost.conf optimize gerekiyor mu?

  35. Devamina eklemeniz gerekli. Load lar kac seviyesindeydi ve bu sorun olurken en cok kullanilan dosya yada islem neydi, genelde top ciktisi ile gorebilirsiniz yada whm panelden..

  36. Bunu soylemek zor, cunku sunucunuza ve sitenizin hitine gore ozel ayar yapmak gerekli. Netteki hazir uygulamalari kullanmak bazen sorun olabilir, ancak deneyerek sisteminize gore uyarlayabilirsiniz..

  37. Sorun sunucu yada nginx kaynakli degil, 1-2 haftadir gunun belli saatlerinde buyuk saldirilar aliyoruz, uzun zamandir çin ulkesini banli birakiyoruz ama yinede bu engeli gecerek sunucuya zarar verebiliyorlar, artik saldirinin buyuklugunu siz hesap edin :) nginx bence buna ragmen cok iyi dayaniyor, gerisi guvenlik programlarina kaliyor, ancak hic bir sey donanimsal guvenlik yazilimlari haric ddos u engelleyemeye gucu yetmiyor..

  38. iptables kurallarıyla söz konusu ipi banlıyor musun? Optimizasyona gelirsek ben ssh top çıktısına baktığım zaman daha çok httpd görüyorum yani nginx arada bir çıkıyor. Acaba tam anlamıyla nginxe geçemedik mi?

  39. Top ciktisinda gordugunuz her httpd islemi apache tarafindan ielenenlerdir. arada birde olsa nginx gormeniz nginx inde calistigi anlamina gelir, ancak tam anlamiyla cogu islem apacheye yikilmis gibi gorunuyor. resimleri, css ve js tarzi dosyalari nginxe gondermeyi deneyin, daha oncede bahsettigim sekilde ayari yaptiginizdan emin olun.

  40. Yok yok o ayarlar tamam resimler, css js, ico,rar vs olan ayarlar yapıldı. Yani benim kafamı kurcalayan çok yoğun zamanlardaki load sorunu nginx i devreye aldık ama bu yoğun saatlerde neden eskiye nazaran daha rahat atlatılmıyor.

  41. mybb statik html degildir, php ve mysql bir yazilimdir, ancak url rewrite ozelligi ile linkleri html seklinde gosterebiliyorsunuz. Forum sistemleri genelde php ve mysql cok isleyen yazilimlardir, statik sayfalar fazla yoktur, statik den kasit css, resim ve bu tarz dosyalardir. Ancak forum sistemleri icin xcache, v.s tarzi yazilimlarin cok etkili olacagini soyleyebilirim. mybb memcached veya xcached destekliyormu emin degilim ama vbulletin sistemlerinde bu var ve cok stabil calisabiliyor sunucuyla..

  42. Saldırılarda veya ziyaretçi yoğunluğunda Apache httpd.conf içindeki Timout Değerini 300sn (5dk) den 30sn ye indirdim. Sunucu gerçekten rahatladı. Kurulan bağlantılar 5 dakika süreyle aktif olmak yerine artık 30sn aktif oluyor. İsterseniz bunu 5sn de yapabilirsiniz ama sitenizin yüklenmesi belli bir süre aldığından bu süreyi fazla düşürmeyin.

  43. Bunu daha once denemedim ama once nginx config dosyalarinizin yedegini alin, vost v.s hani duzenleme yaptiginiz. Sonrasinda yukaridaki nginx kurulum islemini tekrarlayin. Sonrasinda REstart attiktan sonra nginx e buraya girip site adresinizi yazin: http://browserspy.dk/webserver.php en ustte Web server kisminda nginx versiyonu yazar, eger guncell versiyon ise tamamdir :)

  44. Selam Kuaza;
    Yazı çok güzel olmuş.
    Linode(4gb) + lamp + whm + wp + wp tc + eaccelator kullanıyorum.
    Bu yazı ile nginx kurdum. eaccelator ile Acayip hızlandıydı :) şimdi uçuyor.

    Ama bugün server, cpanel falan hiç açılmıyor. :( Yada bir anlık açılıyor. Diski kontrol ettim boş yer var. (%6 used).

    problem nginx olabilir diye portu tweak settings den default seçtim (:80) ama konsolda şu şekilde hatalar alıyorum.

    Sadece apache çalışacak şekilde nasıl geri dönerim?
    ////////////// bu şekilde mailler alıyorum.
    nameserver failed @ Fri Jan 7 22:36:20 2011. A restart was attempted automagically.
    httpd failed @ Fri Jan 7 22:41:19 2011. A restart was attempted automagically.
    vs vs (nerdeyse tüm servisler hakkında)

    bu işlerden pek anlamam. Ama iş başa düştü.
    sistem açılırken konsolda şunu gördüm:

    Starting nginx: [emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)
    [emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)
    [emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)
    [emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)
    [emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)
    [emerg]: still could not bind()
    [FAILED]

    açıldıktan az sonra :

    Killed process 3832 (httpd) vsz:75768kB, anon-rss:652kB, file-rss:336kB
    Out of memory: kill process 3079 (httpd) score 91168 or a child
    Killed process 3833 (httpd) vsz:75768kB, anon-rss:656kB, file-rss:356kB
    Out of memory: kill process 3079 (httpd) score 90576 or a child
    Killed process 3835 (httpd) vsz:75768kB, anon-rss:608kB, file-rss:264kB
    Out of memory: kill process 3079 (httpd) score 89984 or a child
    Killed process 3836 (httpd) vsz:75768kB, anon-rss:600kB, file-rss:344kB
    Out of memory: kill process 3079 (httpd) score 89392 or a child
    Killed process 3838 (httpd) vsz:75768kB, anon-rss:656kB, file-rss:336kB
    Out of memory: kill process 3079 (httpd) score 88800 or a child
    Killed process 3839 (httpd) vsz:75768kB, anon-rss:656kB, file-rss:280kB
    Out of memory: kill process 3079 (httpd) score 88208 or a child
    Killed process 3840 (httpd) vsz:75768kB, anon-rss:656kB, file-rss:380kB
    Out of memory: kill process 3079 (httpd) score 87616 or a child
    Killed process 3841 (httpd) vsz:75768kB, anon-rss:664kB, file-rss:392kB
    Out of memory: kill process 3130 (php) score 87076 or a child
    Killed process 3130 (php) vsz:348304kB, anon-rss:114860kB, file-rss:1260kB

    ….. diye saydırıyor :D


  45. Ali:

    Selam Kuaza;
    Yazı çok güzel olmuş.
    Linode(4gb) + lamp + whm + wp + wp tc + eaccelator kullanıyorum.
    Bu yazı ile nginx kurdum. eaccelator ile Acayip hızlandıydı :) şimdi uçuyor.

    Ama bugün server, cpanel falan hiç açılmıyor. :( Yada bir anlık açılıyor. Diski kontrol ettim boş yer var. (%6 used).

    problem nginx olabilir diye portu tweak settings den default seçtim (:80) ama konsolda şu şekilde hatalar alıyorum.

    Sadece apache çalışacak şekilde nasıl geri dönerim?
    ////////////// bu şekilde mailler alıyorum.
    nameserver failed @ Fri Jan 7 22:36:20 2011. A restart was attempted automagically.
    httpd failed @ Fri Jan 7 22:41:19 2011. A restart was attempted automagically.
    vs vs (nerdeyse tüm servisler hakkında)

    bu işlerden pek anlamam. Ama iş başa düştü.
    sistem açılırken konsolda şunu gördüm:

    Starting nginx: [emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)
    [emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)
    [emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)
    [emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)
    [emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)
    [emerg]: still could not bind()
    [FAILED]

    açıldıktan az sonra :

    Killed process 3832 (httpd) vsz:75768kB, anon-rss:652kB, file-rss:336kB
    Out of memory: kill process 3079 (httpd) score 91168 or a child
    Killed process 3833 (httpd) vsz:75768kB, anon-rss:656kB, file-rss:356kB
    Out of memory: kill process 3079 (httpd) score 90576 or a child
    Killed process 3835 (httpd) vsz:75768kB, anon-rss:608kB, file-rss:264kB
    Out of memory: kill process 3079 (httpd) score 89984 or a child
    Killed process 3836 (httpd) vsz:75768kB, anon-rss:600kB, file-rss:344kB
    Out of memory: kill process 3079 (httpd) score 89392 or a child
    Killed process 3838 (httpd) vsz:75768kB, anon-rss:656kB, file-rss:336kB
    Out of memory: kill process 3079 (httpd) score 88800 or a child
    Killed process 3839 (httpd) vsz:75768kB, anon-rss:656kB, file-rss:280kB
    Out of memory: kill process 3079 (httpd) score 88208 or a child
    Killed process 3840 (httpd) vsz:75768kB, anon-rss:656kB, file-rss:380kB
    Out of memory: kill process 3079 (httpd) score 87616 or a child
    Killed process 3841 (httpd) vsz:75768kB, anon-rss:664kB, file-rss:392kB
    Out of memory: kill process 3130 (php) score 87076 or a child
    Killed process 3130 (php) vsz:348304kB, anon-rss:114860kB, file-rss:1260kB

    ….. diye saydırıyor :D

    Oncelikle paniklememek lazim, sakin kafayla sorunu daha cabuk cozebiliriz.

    Sorun buyuk ihtimal saldiri aliyor olmanizdan kaynaklanabilir, cunku eger ddos saldirisi alirsaniz Nginx bir yere kadar idare edebiliyor, sonrasinda sistemi sisirerek erisilmez hale gelmesine sebep olabilir. Bunun icin nginx e restart atmaniz gerek, eger site duzelirse ve yine bir sure sonra tekrar takilmalar, donmalar, baglanti kopmalari yasanirsa saldiri aliyor olmaniz kuvvetle ihtimal..

    Bunun haricinda apache ye gecmek icin oncelikle ssh den nginx i durduralim:

    service nginx stop

    ardindan apache restart atalim:

    service httpd restart (eger bisey cikmazsa start yaparak baslatalim)

    service httpd start

    bu durumda apache ye gecmis olursunuz ancak daha onceden duzenlediginiz 80 portlarini eskisi gibi 81 den 80 e cevirmeniz kosulu ile sorunsuz calisacaktir.

    Bu arada saldiri aliyorsaniz csf ve ddos gibi uygulamalari kullanabilirsiniz, en azindan kucuk saldirilarda ise yarar, ancak buyuk capta bir saldirida malesef donanimsal firewall (guvenlik yazilimi) kullanmaniz gerekecektir..

    Bu islemlerin sonucunda bilgi verirseniz o dogrultuda devam ederiz. Kolay gelsin..

  46. apache ye geçti ama bind de bir problem çıktı. bende yine nginx den devam ediyorum.
    şuan sistemde herşey çok yavaş çalışıyor.

    biraz bekletiyor ama sitemin anasayfasında bu uyarı çıkıyor:
    502 Bad Gateway
    nginx/0.8.53

    sorun bir saldırıdan kaynaklanıyor olabilir dediğiniz için bu grafiklere bir bakmanızı rica ediyorum.
    http://www.kuaza.com/show.php/2759399_cpu-png.html
    http://www.kuaza.com/show.php/2759400_network-png.html

    not: sitelerde online sayısı ortalama 300.
    teşekkür ederim.

  47. Anlik 300 online sayiniz varsa ciddi sekilde bir optimizasyona ihtiyaciniz var demektir. nginx le beraber mysqlyide optimize etmenizde yarar var. Ayrica bind de sorun yasiyorsaniz onada restart atmayi deneyebilirsiniz:

    service named restart (boyleydi sanirim)

    Arada bir 502 Bad Gateway uyarisi aliyorsaniz sunuculariniza cok fazla yuk biniyor demektir. Nginx config dosyasinda:

    worker_processes
    worker_rlimit_nofile

    kisimlarini artirmanizi oneririm, islemci sayisina gore 2-3 eksik olacak sekilde worker_processes degerini artirin.

    ayrica alt taraftaki limitlerde de duzenleme yaparak sonucu gozlemleyebilirsiniz.

    Ayrica cpu ve network istatistiklerine gore saldiri aliyor olmaniz kuvvetle ihtimal. Cok dengesiz bir yapisi var, buda sizi pek sevmeyen birinin oldugunu gosterir.

  48. Selam Dostum, öncelikle yazın çok açıklayıcı olmuş bu yüzden tebrikler fakat bahsettiğin bütün adımları teker teker uyguladığım halde service nginx configtest komutundan sonra hep “unknown directive “busy” in /usr/local/nginx/conf/nginx.conf:13
    configuration file /usr/local/nginx/conf/nginx.conf test failed
    ” hatası aldım. Yardımlarını bekliyorum saygılar.


  49. sessizadam:

    Selam Dostum, öncelikle yazın çok açıklayıcı olmuş bu yüzden tebrikler fakat bahsettiğin bütün adımları teker teker uyguladığım halde service nginx configtest komutundan sonra hep “unknown directive “busy” in /usr/local/nginx/conf/nginx.conf:13
    configuration file /usr/local/nginx/conf/nginx.conf test failed
    ” hatası aldım. Yardımlarını bekliyorum saygılar.

    usta buradaki dosyanin ilk 20 satirini yazarmisin: /usr/local/nginx/conf/nginx.conf

    gorup hatayi ancak o sekilde soyleyebilirim..

  50. cat /usr/local/nginx/conf/nginx.conf çıktısından ilk 20 satır;
    user xxxx;
    # no need for more workers in the proxy mode
    worker_processes 1;

    error_log /var/log/nginx/error.log;
    pid /var/run/nginx.pid;

    worker_rlimit_nofile 8192;

    events {
    worker_connections 2048; # you might need to increase this setting for
    busy servers
    use epoll; # Linux kernels 2.4.x change to rtsig
    }

    http {
    server_names_hash_max_size 8192;

    include mime.types;
    default_type application/octet-stream;

  51. Config dosyalarinin ikisinide acip kontrol edin hocam, cunku bazi # isaretinden sonraki bilgi yazilari satir atlamis ve dogal olarak config dosyasinda boyle bir degisken tanimlanmadigi icin hata veriyor.

    verdiginiz kodlarda ornek buradaki:

    worker_connections 2048; # you might need to increase this setting for
    busy servers

    “busy servers” kismi asagi gecmis ve hataya sebep olmus. bazzen boyle olabiliyor, kopyala yapistir yaptiginizda oldugu gibi almis, kullandigim editor sorunu sanirim, yada tema ile alakali, kusura bakmayin

    ancak cozumu yazdim, bu sekilde # uyari kisimlarina bakin, alta gecmis kisimlari duzenleyin, zaten ayar kodlari kendini belli eder, normal yazi gibi degildirler..

  52. Dostum dediğin gibi yaptım ama var bu işte bişiler anlamadım.
    [email protected] [~]# service nginx configtest
    [emerg]: unknown directive “Apache” in /usr/local/nginx/conf/vhost.conf:12
    configuration file /usr/local/nginx/conf/nginx.conf test failed

    /usr/local/nginx/conf/nginx.conf çıktısı 14 e kadar

    user xxxxx;
    # no need for more workers in the proxy mode
    worker_processes 1;

    error_log /var/log/nginx/error.log;
    pid /var/run/nginx.pid;

    worker_rlimit_nofile 8192;

    events {
    worker_connections 2048; # you might need to increase this setting for busy servers
    use epoll; # Linux kernels 2.4.x change to rtsig
    }

  53. Siz en iyisi hepsini bir text dosyasina kaydedip sitenize yukleyin sonra buraya link verin, kontrol edip geri donus yaparim. Boyle satir satir duzenlemek cok uzun zaman alacaktir :)

  54. Daha oncede yazdigim gibi sorun alta gecen satirlarda ve nginx.conf dosyasinda sorun yok, diger dosyada yani vhost.conf dosyasinda sorun var, birden fazla alt satira gecmis yer var.

    Simdi duzenleyip link vermek yanlis olur, cunku kotu niyetli kisilerin eline gecebilir bu dosya. Bu sebeple yapman gerekeni yaziyorum.

    vhost.conf dosyasini ac:

    Bul:

    # uncomment location below to make nginx serve static files instead of
    Apache
    # NOTE this will cause issues with bandwidth accounting as files wont be
    logged

    Degistir:

    # uncomment location below to make nginx serve static files instead of Apache
    # NOTE this will cause issues with bandwidth accounting as files wont be logged

    en az 14 tane bu sekilde duzenleme yapman lazim, sonrasinda sorun ortadan kalkacaktir eminim, tekrar deneyerek test edebilirsin.

  55. Bisey degil. whm den eklediginiz her hesap icin nginx icin tanimlama yapmaniz gerek, httpd icin duzenleme yapmaniza gerek kalmiyor otomatik kendisi portu duzenliyor, ancak nginx icin vhost.conf icerisinde oradakilere benzer yeni bir tane olusturmaniz ve yeni domaine gore duzenlemeniz gerekli. ornek asagida:

    server {
    access_log off;

    error_log /var/log/nginx/error.log warn;
    listen 80;
    server_name DOMAIN.com http://www.DOMAIN.com;

    #location ~* .(gif|jpg|jpeg|png|wmv|avi|mpg|mpeg|mp4|js|css)$ {
    # root /home/DOMAIN.KLASORU/public_html;
    #}

    location / {
    proxy_send_timeout 90;
    proxy_read_timeout 90;

    proxy_buffer_size 4k;
    # you can increase proxy_buffers here to suppress “an upstream response
    # is buffered to a temporary file” warning
    proxy_buffers 16 32k;
    proxy_busy_buffers_size 64k;
    proxy_temp_file_write_size 64k;

    proxy_connect_timeout 30s;

    proxy_redirect http://www.DOMAIN.com:81 http://www.DOMAIN.com;
    proxy_redirect http://DOMAIN.com:81 http://DOMAIN.com;

    proxy_pass http://SUNUCU.IP.ADRESI:81/;

    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
    }

  56. Bisey degil. whm den eklediginiz her hesap icin nginx icin tanimlama yapmaniz gerek, httpd icin duzenleme yapmaniza gerek kalmiyor otomatik kendisi portu duzenliyor, ancak nginx icin vhost.conf icerisinde oradakilere benzer yeni bir tane olusturmaniz ve yeni domaine gore duzenlemeniz gerekli. ornek asagida:

    server {
    access_log off;

    error_log /var/log/nginx/error.log warn;
    listen 80;
    server_name DOMAIN.com http://www.DOMAIN.com;

    #location ~* .(gif|jpg|jpeg|png|wmv|avi|mpg|mpeg|mp4|js|css)$ {
    # root /home/DOMAIN.KLASORU/public_html;
    #}

    location / {
    proxy_send_timeout 90;
    proxy_read_timeout 90;

    proxy_buffer_size 4k;
    # you can increase proxy_buffers here to suppress “an upstream response
    # is buffered to a temporary file” warning
    proxy_buffers 16 32k;
    proxy_busy_buffers_size 64k;
    proxy_temp_file_write_size 64k;

    proxy_connect_timeout 30s;

    proxy_redirect http://www.DOMAIN.com:81 http://www.DOMAIN.com;
    proxy_redirect http://DOMAIN.com:81 http://DOMAIN.com;

    proxy_pass http://SUNUCU.IP.ADRESI:81/;

    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
    }

  57. merhaba

    “Sonrasinda bir script yazarak ve calistirarak hesabinizdaki sitelerin config dosyasini otomatik olusturmasini saglayacagiz. Bunun icin asagidaki sirayi takip edin:”

    demistiniz. Buna istinaden, eger whm den yeni bir website eklersek, bunu tekrar calistirmamiz gerekecek mi?

  58. eger vhost.conf icerisinde bir duzenleme yapmamis iseniz yeniden calistirarak butun sitelerin conf dosyasini ekleyebilirsiniz. ancak vhost.conf dosyasinda bir duzenleme yapmis iseniz, duzenlemenizin kaybolmamasi icin o scripti calistirmamaniz gerekli. bunun yerine asagidaki gibi bir kod dizisini vhost.conf da en alta eklemeniz ve yeni eklenen domaine gore duzenlemeniz sonrasinda da nginx e restart atmaniz yeterli olacaktir:
    http://www.kuaza.com/centos-ve-cpanel-sunucularda-nginx-kurulumunu.html/comment-page-2#comment-521

  59. Slm kuaza;
    Apache2 ve eAccelerator yüklü sunucuya bu makale ile nginx de kurdum.
    Şuan “PHP 5 Handler: suphp” olarak geçiyor whm’de. Bunu FastCGI olarak değşitirmek istiyorum.
    1. mod_fastcgi da kurmam, hız/yük olarak sisteme ne katar?
    2. mod_fastcgi nginx ile çalışır mı?

  60. fastcgi tabiki nginx ile calisir, ancak eger iyi ayarlanmazsa buyuk sorunlar yasarsiniz, buna resimlerinizin, statik dosyalarinizin cok yavas acilmasida dahil. Daha once bir kac tecrubem olmustu sanirim nginx ve fastcgi ikilisi ile,dedigim sorunlari yasamamin sebebinin fastcgi oldugunu anlamam tamamen sunucuya format atip apache ile nginx i kullanmamdan sonra farkettim :)

    ancak yeni bir sunucu ve yeni basliyorsaniz bence denemekte yarar olabilir. burada guzel bir kurulum mevcut, zamanim olursa nginx ve fastCGI icinde bir makale hazirlamaya calisirim ilerleyen gunlerde..

  61. Paneliniz whm/cpanel mi?

    eger bunun disinda bir panel ise siteleriniz icin olusturulan her biri icin ayri ayri httpd.conf dosyasi olusturulur ayarlarini yapip portu 81 e yonlendirmeniz gerekli..

    panel ve sunucu bilgilerini yazarsaniz daha cabuk yardimci olabilirim..

  62. O zaman bunun olmasi cok ilginc. anlatim daki 4. adimi yaptiginizdan emin olun, eger yapmadiysaniz tekrar yapin, yaptiysaniz kontrol edin dogrumu diye.. Eger onlarda sorun yoksa apache’ye restart atmamis olabilirsiniz. ayarlarin aktif olabilmesi icin apache ye restart atin:

    service httpd restart

  63. kuaza dediğiniz gibi çok ilginç hepsini tek tek düzenledim. bash scripti bütün siteleri convert etti.Acaba diyorum… nginx.conf u mu sorunlu anlayamadım.Örnek bir nginx dosyasını göndermeniz mümkün mü ? Ayrıca 25 site var….
    Vbulletin ve WordPress kurulu.Yardımcı olur musunuz ?

  64. Caner Apache den gelen istekleri azaltıyor..php demişsin genellikle böyle bir sitede mysql öncelik basmakta.Sunucunun optimizesini yaparsan belki nginx gerek kalmaz,belkide gerekebilir düsüncem..Tabi yanlışım varsa diğer arkadaslar da yardımcı olabilirler sana…

  65. Kuaza Kurulumu tamamladim :) paylaşımın için çok teşekkür ediyorum size..

    NGINX_CONF_FILE=”/usr/local/nginx/conf/nginx.conf”

    buradakini editleme yapmıştım..Onu düzelttim

    NGINX_CONF_FILE=”/usr/local/nginx/conf/nginx.conf”

    yapınca sorunsuz çalıştı….

  66. css, js ve forum iconlari icin kullanilan dosyalar statik. Ve ayrica bu forumda cache sistemi mevcut ise, acabilir yada kullanabilirsiniz. Boylece dinamik sayfalar statik icerik haline gelecegi icin cok fark edecektir. Ayrica genel saldirilarda nginx cok iyi bir uygulama olarak da uygun olacaktir.

    Tavsitem kullandiginiz forum sisteminde bir cache eklentisi kullanmaniz ve ustune sunucunuza nginx kurmaniz. Bunun faydasini islemlerden sonra farkedeceginizden eminim..

  67. Duzelmesine sevindim,kurulumu aynen uyguladiginizda sorunsuz sekilde calisacagini soyleyebilirim, ancak gozden kacmis unsurlar olabilir. Sorunlarda yada faydalarinda yorum olarak yazarsaniz sevinirim.


  68. Levent:

    En son nginx-0.9.2.tar.gz var sanirim.Bende calişanda o versiyonu kurulu.

    Konunun altinada yazdim burayada yazayim :)
    UYARI: Bazi arkadaslar stable versiyon ile development versiyonu karistiriyorlar. Kurmaniz gereken versiyon herzaman stable versiyon olmalidir. Cunku development versiyon gelistirme surumudur. Eger gelistirici degilseniz stable versiyonu kurmaniz yeterlidir. Gelistirme amacli kurup gelistirmek isteyenler development versiyonu kurabilirler..


    Levent:

    pardon . nginx in sitesinde nginx-0.9.4 varmış.Bende onu kurdum.Herhangi bir sorun teşkil etmemiştir.

    O versiyon gelistirme surumu, henuz stabil versiyonu duyurulmadi. Yani o versiyonda hatalar ve sorunlar olabilir. Gelistiriciler icin.. Siz stabil versiyonu kullanacaksiniz, ilk konuyuda ona gore guncelledim..


    Levent:

    Güncelleme için service nginx stop yapıp kurabilirsiniz.

    Sonrasinda baslatmayi unutmayin :)
    service nginx start

  69. :) onu biliyorum kendim için demistim…Stable kararlı sürüm demek..Ama ben iyi bildiğim için kurdum geçtim..Ama diger kurulumları yapan arkadaşlar pek bilgisi olmadıgından sorunlar yasayabilirler.Sistemlerinde bir sıkıntı olduklarında iyice bozmadan hatayı buraya iletilirse yardımcı olmak isterim.Bende zamanında cok çıldırdım :) kac defa format attırmıştım host firmalarına makinem için..Dediğim gibi sakin kafayla yapmaya calisin baska biseye ilginiz olmasın :) Sadece öneri :D

  70. Afedersin benim hatam yanlis anladim. Birde yardimci olmak istemen cok guzel, senin gibi bende cok sorun yasadim. Gercekten bu sorunlarin ustesinden gelmek uzun zaman aldi. Yeni arkadaslarin daha rahat calisabilmesi icin bildiklerimizi paylasmamiz gerek.

  71. Hocam kurulumu sorunsuz tamamladım fakat bi sıkıntım var sitedeki reklamları nginxe geçince göstermiyor nginx nginxi iptal edip apacheye dönüyorum reklamlar takır takır işliyor ama nginxi tekrar aktif ettiğim zaman reklamlar görünmüyor bu neden olabilir acaba bi fikrin varmı?

  72. Peki resimlerinizi cıkıyor mu ?

    /usr/local/nginx/vhost.conf daki alan adinizin kullanıcı adınızın

    location ~* .(gif|jpg|jpeg|png|wmv|avi|mpg|mpeg|mp4|js|css)$ {
    root $ROOT/public_html;
    }

    Bu kısmı dikkat ettiniz mi ? # simgeleri varsa kaldıralım. Ayrica reklamlarınız banner mı ? Yoksa javascript kod mu ?

  73. aynı durum benimde başıma gelmişti. /usr/local/nginx/conf/ içindeki vhost.conf içeriğindeki

    root /home/cpanel kullanıcı adı/public_html/;

    satırına dikkat et. Sitenin doğru yolunu yazacaksın buraya..


  74. Mehmet:

    Hocam kurulumu sorunsuz tamamladım fakat bi sıkıntım var sitedeki reklamları nginxe geçince göstermiyor nginx nginxi iptal edip apacheye dönüyorum reklamlar takır takır işliyor ama nginxi tekrar aktif ettiğim zaman reklamlar görünmüyor bu neden olabilir acaba bi fikrin varmı?

    Reklam resimleri kendi sunucundaysa asagidaki levent ve hakan arkadasimin cevaplari yardimci olabilir size..


    Levent:

    Peki resimlerinizi cıkıyor mu ?

    /usr/local/nginx/vhost.conf daki alan adinizin kullanıcı adınızın

    location ~* .(gif|jpg|jpeg|png|wmv|avi|mpg|mpeg|mp4|js|css)$ {
    root $ROOT/public_html;
    }

    Bu kısmı dikkat ettiniz mi ? # simgeleri varsa kaldıralım. Ayrica reklamlarınız banner mı ? Yoksa javascript kod mu ?


    Hakan:

    aynı durum benimde başıma gelmişti. /usr/local/nginx/conf/ içindeki vhost.conf içeriğindeki

    root /home/cpanel kullanıcı adı/public_html/;

    satırına dikkat et. Sitenin doğru yolunu yazacaksın buraya..

  75. hocam dediklerinizi uyguladım fakat gene olmadı reklam ne banner ne java PHP CURL sistemi ile çekiliyor reklamlar mobil reklam apachede iken hiç sıkıntı olmuyor nginx sıkıntı tüm ayarlar doğru baştan sona kontrol ettim

  76. reklamlar neden curl ile cekilir ki anlamadim :) ancak sorunun timeout suresi ile alakasi olabilir, baska bir aciklama goremiyorum.. Cunku curl php islemcisidir, php de apache tarafindan yorumlanir, nginx sadece statik dosyalarda yardimci gorevi gormektedir..

  77. Merhaba nginxi başlatmaya çalıştığımda;

    Starting nginx: [emerg]: unknown directive “Apache” in /usr/local/nginx/conf/vhost.conf:16
    [FAILED]

    hatasını alıyorum ayarları harfiyen yaptım,nasıl düzeltebilirim ?

  78. Merhaba Arkadaşlar Nginx i Kurdum Fakat Sunucuya Reboot Attıkdan Sonra nginx çalışmadı çalıştırmak için start komutunu yazdım fakat şöyle bir hata ile karşılaştım

    [email protected] [/usr/local/src/nginx-0.8.54]# service nginx start
    Starting nginx: [emerg]: open() “/etc/nginx/mime.types” failed (2: No such file or direc
    tory) in /usr/local/nginx/conf/nginx.conf:14
    [FAILED]

  79. [email protected] [~]# sh nginx.sh
    cat: root: No such file or directory
    cat: root: No such file or directory
    [email protected] [~]#

    Bu Hatanın Sebebi Nedir Acaba Arkadaşlar ?

  80. Tavsiye ederim bunu, acemiler icin cok iyi, bunu hatirlattigin iyi oldu, ilk zamanlar bunu kullaniyordum, ancak ilginc sorunlar ortaya cikinca kaldirmistim, belki o donem sunucuyla alakaliydi sorun tam emin degilim..

  81. [emerg]: unknown directive “busy” in /usr/local/nginx/conf/nginx.conf:13
    configuration file /usr/local/nginx/conf/nginx.conf test failed

    hatası alıyorum..yorumları okudum.belirttiğiniz şeyleri yapmama rağmen olmuyor

  82. kusura bakma yorumuna dair mail bilgisi gelmedi, bende yogunum fazla zaman ayiramadim. PCRE nin yeni versiyonu cikmis, dokumani ona gore duzenliyorum. Sizde normal kurulum seklini tekrarlayin.

  83. Nginx 1.0.0 versiyonuna gecis yaptim, suan icin memnunum, herhangi bir sorun cikmadi. aksine biraz fark gorur gibiyim resim dosyalarinin acilmasinda.. Statik dosyalarin acilmasi gercekten hizlandi. O konuda iyi isler cikarmislar. Nginx kullananlar makaledeki nginx kurulumunu aynen yapsinlar. Yeni versiyona gecmis olurlar.. Ancak oncesinde usr/local/nginx klasorunu yedek alsinlar. Ve mumkunse bu isi gece yapsinlar..(ziyaretcinin en az oldugu bir zamanda olur)

  84. sadece kurulumu yaptım 3. işlemi.. bu hatayı alıyorum.. service nginx configtest

    [emerg] listen() to 0.0.0.0:80, backlog -1 failed (98: Address already in use)

  85. Guncelleme yaptim kendi sunucumu, sorun cikmadi. Farkettim her yeni guncellemede imaj dosyalarinin acilisi daha iyilesiyor. Suanki 1.0.2 versiyonundan sonra acilislar, imaj, css, js dosyalarinin yuklenmesi gayet basarili gorunuyor. umarim boyle devam eder. Yeni versiyona gecmenizi tavsiye ederim arkadaslar, dokumani da guncelledim. Bilgi icin tesekkurler Hakan..

    • nginx’in hizinada yetismek imkansiz :D wordpress gibi habire yeni versiyon cikariyorlar. Bu bir yandan iyi, cunku iyilestirmeler yapiliyor, diger yandan da devamli guncellemek insani yoruyor :D

      Simdi geciyorum bu versiyona ve konuyu guncelliyorum. Tesekkurler Hakan SIKI takipcisin nginx konusunda :)

  86. Bu site gercekten hariyamis: http://tools.pingdom.com Sunucumdaki kuaza.com icin sorgu yapmistim 3 farkli versiyon icin ve sonuc suanda resmen %1000 acilis hizinda hizlanma oldugunu farkettim. Gormek isteyenler buraya bakabilirler: http://tools.pingdom.com/default.asp?url=http%3a%2f%2fwww.kuaza.com%2f&id=4753941
    Test archive kisminda 16,23, ve 28 mayis gunlerinin sonuclarini goreceksiniz. 16 mayisda 10 saniye iken suanda 0.63 saniye. Bu mukkemmel. bunda tabi alt yapi ve sistemdeki yenilemeler, duzenlemeler, optimizasyonlarinda etkisi vardir, ancak nginx bu konuda gercekten her guncellemede daha iyiye gidiyor..

  87. merhaba

    böyle dediğimde

    service nginx configtest

    böyle bir hata ile karşılaşıyorum

    /etc/init.d/nginx: line 67: /usr/local/nginx/sbin/nginx: No such file or directory

    yardımcı olabilirmisiniz acaba

    saygılarımla

    • Bizzat denedigim bir islem oldugu icin, bu konuda yardim isteyenlere bu dokumani oneriyorum. Sorunsuz kurulum yapabildiginize sevindim. Umarim tecrubelerini bizle paylasmaya zamanin olur :D

    • Bilgi icin sagol kardesim, makaleyi o yonde guncelledim. Gordugum kadariyla nginxin islemci uzerindeki bir kac sorunlu kismini ve cache ozelligindeki ayarsizliklari duzeltmisler. Suanda sunucuyu son versiyona guncelledim, herhangi bir sorunlada karsilasmadim..

    • Daha 1 hafta bile olmadi 1.0.5 versiyonunun cikmasi. bu kadar kisa surede guncelleme gelmesi nginxde ki guvenilirligi zedeledigini dusunuyorum ama bir yandan da aciklarin kapatilmasi iyi bisey, umarim bu gidisati duzeltirler ve gelistirmeyi iyi yaparak SIK SIK guncelleme isinden vazgecerler :)

      dokumanida guncelledim, haber verdigin icin tesekkurler, kendi sunucumda nginx’i guncelledim, herhangi bir sorunlada karsilasmadim. Degisikliklere bakinca yine epey bir seyi duzelltiklerini gordum. Umarim faydalarini uzun vadede goruruz.

      • bence sık güncelleme iyi chrome da sık sık güncellenir durumu ortada.. türkiyede 2. sırada hızla yükseliyor.. neyse farklı bir konu şu, kim rafaeli tarzı resimleri ramazda kaldır bari dostum site açılır açılmaz göze çarpıyor..

        • crome makaleci.com anketi sonuclarina gorede 1. sirada suanda :) bu arada resim galerisi konusunda bir kac oneri ve sikayet de geldi, bu konuda duzenleme zaten yapildi, sanirim cacheden kaynakli sizde eski tasarim gorunuyor, sistem icerisindeki cacheleri bosaltiyorum. Eski kodlari temizledigimde yeni duzenleme gorunecektir sizde de :)

  88. Makale için teşekkürler, sorunsuz birşekilde kurulum (sayenizde) tamamlandı, arada ufak bir panik geçirdim ama olsun, bu da işin tuzu biberi :P

    Buarada makalenin sonunda belirtmiş olduğunuz vhost.conf yolu olarak belirttiğiniz /usr/local/nginx/vhost.conf bende yanlış çıktı, sanırım doğrusu şu şekilde olmalı ” /usr/local/nginx/conf/vhost.conf “

    • Suan siteni kontrol ettigimde nginx’in basarili sekilde kuruldugunu gordum. Once senin adina sevindim. Arada bir sorun olacak, bazen unutulan yada yanlis yapilan bir sey panik yasamamiza neden olabiliyor :)

      Ayrica soz konusu maklenin sonundaki dediginiz bolumu yanlis yazmisim, hemen duzeltiyorum. Bilgi ve uyari icin tesekkurler..

  89. Nginx son stable versiyon 1.0.5 dir arkadaslar, 1.1.0 versiyonu development versiyonudur, hic dikkat etmedim bende, kusura bakmayin, makaleyi bu konuda guncelledim, stable ve development versiyonlar icin kurulum ve aciklama ekledim..

    • 1.0.8 de çıktı.. dostum yeni eliştirmeler ne işe yarıyor açıklarsan seviniriz.

      *) Feature: the “max_ranges” directive.

      *) Feature: the module ngx_http_mp4_module.

      *) Feature: the “worker_aio_requests” directive.

      • daha yeni 1.0.7 yi guncellemistim :) sanirim mp4 modulunun kernel ile uyumsuzlugu yuzunden onu kaldirmislar, bundan sonraki versiyonlarda mp4 desteginin olmayacagini zannediyorum, yada onun yerine bir duzeltme yapilacaktir.

        soz konusu yeni eklenenlerse maximum cevap araliklari ve gereksiz bosta bekleyen dosyalarin islemlerin sonlandirilarak kaynak ihtiyacinin ust ust duzeye cikarilmasina olanak verecek sekilde.. ayrica kernel ile bir kac sorunun yasanmasi (mp4 modudlu dahil) sebebiyle bu konuda test asamasinda yenilikler yapilmaya calisiliyor. Sonraki guncellemelerde kernel ile ilgili duzeltmeler gorecegimizi dusunuyorum.

      • afedersin hakan cevaplayacaktim unutmusum :) degisiklik yapmana gerek yok, default ile ayni zaten. eger guncelleme yaparsan olusturulan default nginx.conf dosyasininda digeri ile ayni oldugunu goreceksin :)

    • ben 1 ay once yeni sunucu aldim, onada burdaki dokumani kullanarak nginx kullandim, herhangi bir sorunla karsilasmadim. bana sunucu bilgilerini mail ile gonderirsen goz atarim. Ayrica takildigin yeri yada problemi yazarsan hakan veya ben gordugumde yardim etmeye calisiriz…

  90. 1.0.8 e geçtim 2 gündür her gece whm update sonrası sanırım! nginx sorun çıkarıyor.. aklınızda olsun otomatik updateleri kapatın, ben bu gece kontrol edeceğim bakalım kapanacak mı?

    • bu gece gene kapanma sorunu oldu… bilemediğim bir sebepten nginx kapanıyor restart atmak zorunda kalıyorum… bu yüzden 1.0.6 ya geri dönüyorum.

      • sebep crontab -e de ki script update olayından mış..
        ssh den crontab -e yazın.

        çıkan satırlardan

        40 2 * * * /usr/local/cpanel/scripts/upcp –cron

        satırını silin.

        kaydedin.. böyle yapmıyordu sanırım önceki script güncellemesi sırasında bir şeyler değişti.

  91. Hakan siteyi tasirken senin yorumu unutmusuz, kusura bakma :) sorun hala devam ediyor sanirim, bir cozum buldugumuzda yazalim, diger arkadaslarda da yasanabilir dusuncesindeyim.

  92. Makale sonunda çalıştırırken no such or file directory hatası verdi /var/logs/error.log , dosyayı elle oluşturup çalıştırdım , üstad nano kullanmışsın ama scriptlerde hep hata verdi syntax error , gedit ile yaptım sorun kalmadı , gerçekten güzel makale herşeyi anlatmışsın emeğine sağlık şuan son durum sunucuda sorunsuz çalışıyor bir sorum olacak ?

    Ben dedicated sunucu içerisinde oluşturduğum bir cpanel vps te siteleri barındırıyorum sunucuya yeni site eklediğimde ne yapmam gerekiyor bu 1.soru

    2.sorum : Yeni versiyon çıktığında update nasıl yapıcam

    3.sorum : apache ye dönmem gerekirse uninstall yapıp tweak settigs ten portu tekrar 80 e alınca ve restart dedikten sonra başka bir işleme gerek varmı

    • olmayan dosyayi elle olusturmaniz gerekli, ilk hazirladigimda oyle bir sorun yoktu, ancak ikinci kurdugumda sizdeki hata bende de olustu. nano daha basit geliyor bana vi ye girdigimde nedense birturlu cikis yapamiyorum programdan ve bu beni deli ediyor..

      her yeni site eklediginde asagidaki sablonu o domaine gore duzenleyip host.conf dosyasinin en altina eklemen gerekli:

      server {
      access_log off;

      error_log /var/log/nginx/error.log warn;
      listen 80;
      server_name DOMAIN-ISMI.COM http://www.DOMAIN-ISMI.COM;

      # uncomment location below to make nginx serve static files instead of Apache
      # NOTE this will cause issues with bandwidth accounting as files wont be logged

      location / {
      proxy_send_timeout 90;
      proxy_read_timeout 90;

      proxy_buffer_size 4k;
      # you can increase proxy_buffers here to suppress “an upstream response
      # is buffered to a temporary file” warning
      proxy_buffers 16 32k;
      proxy_busy_buffers_size 64k;
      proxy_temp_file_write_size 64k;

      proxy_connect_timeout 30s;

      proxy_redirect http://www.DOMAIN-ISMI.COM:81 http://DOMAIN-ISMI.COM;
      proxy_redirect http://DOMAIN-ISMI.COM:81 http://DOMAIN-ISMI.COM;

      proxy_pass http://DOMAIN-IP-ADRESI:81/;

      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      }
      }

      2. sorunuza gelince nginx i tekrar kurmaniz yeterli, o versiyona gore. Ben her ciktiginda farkedince burdaki dokumani guncelliyorum ama dikkatimden kacarsa diye dokumandaki 3 – Nginx Kurulumu kismini yeni versiyona gore uygularsaniz nginx i guncellemis olursunuz :)

      portu eski haline dondermeniz yeterli, unistall yapmaniza gerek kalmaz :) restart dan sonrada hersey eski haline geri doner :)

    • usta loglarina dikkat ettim, nginx isci kapasitesi 3-4 binlere kadar cikiyor, nginx.conf dosyasindaki worker_connections kismini 10000 yap, buyuk ihtimal sorun duzelecektir..

      duzelmezse sorun log dosyalarindan da olabilir, asagida senin conf dosyandaki log kismini:

      error_log /var/log/nginx/error.log;

      bununla degistir:

      # [ debug | info | notice | warn | error | crit ]
      error_log /var/log/nginx/error.log info;

      ustdekilerden herhangi birini info kismi ile degistirebilirsin, log tutma derecesini ve detayini ayarlayabilirsin, boylece problemleri ve hatalari daha iyi analiz edebilirsin…

    • sorun tam olarak nedir ? nginx duruyormu ? yoksa nginx calistigi halde sorunmu cikiyor ? bu durum oldugunda bir top c ciktisina bakin, neler calisiyor, nginx calisiyormu yoksa hicmi faaliyet yok.

      nginx de bir versiyonda mpt ile ilgili kernel probleminden bahsedilmisti, belki kernel ile alakali olabilir, son versiyon kernele yukseltmek suan icin en mantiklisi, ancak ondan once hata logundan son 50-100 satiri buraya eklersen birseyler anlamaya calisiriz belki..

      • Şimdi kapandı hergün aynı saat ve dk da kapanıyor.

        top -c

        1 root 18 0 4856 632 524 S 0.0 0.1 0:01.48 init [3]
        1029 root 15 0 6252 1152 856 R 0.0 0.1 0:00.42 top -c
        1139 root 16 0 3724 588 484 S 0.0 0.1 0:00.00 udevd
        1535 root 16 0 3736 580 456 S 0.0 0.1 0:00.20 syslogd -m 0
        1548 named 20 0 204m 4092 1872 S 0.0 0.4 0:03.05 /usr/sbin/named -u named
        1577 root 25 0 2640 404 320 S 0.0 0.0 0:00.00 /usr/sbin/courierlogger -pid=/var/spool/authdaemon/pid -facility
        1578 root 18 0 8104 628 500 S 0.0 0.1 0:00.00 /usr/libexec/courier-authlib/authdaemond
        1587 root 18 0 22044 1208 800 S 0.0 0.1 0:00.00 /usr/sbin/sshd
        1595 root 18 0 8104 228 100 S 0.0 0.0 0:00.00 /usr/libexec/courier-authlib/authdaemond
        1596 root 18 0 8104 228 100 S 0.0 0.0 0:00.00 /usr/libexec/courier-authlib/authdaemond
        1599 root 18 0 8840 844 664 S 0.0 0.1 0:00.00 xinetd -stayalive -pidfile /var/run/xinetd.pid
        1612 root 18 0 7644 1360 1124 S 0.0 0.1 0:00.00 /bin/sh /usr/bin/mysqld_safe –datadir=/var/lib/mysql –pid-file
        1636 mysql 15 0 76780 23m 3992 S 0.0 2.3 4:25.94 /usr/sbin/mysqld –basedir=/ –datadir=/var/lib/mysql –user=mys
        1651 root 22 0 2640 324 252 S 0.0 0.0 0:00.00 /usr/sbin/courierlogger -pid=/var/run/imapd.pid -start -name=ima
        1652 root 18 0 4792 524 424 S 0.0 0.0 0:00.00 /usr/lib/courier-imap/libexec/couriertcpd -address=0 -maxprocs=5
        1658 root 25 0 2640 328 252 S 0.0 0.0 0:00.00 /usr/sbin/courierlogger -pid=/var/run/imapd-ssl.pid -start -name
        1659 root 25 0 4792 528 424 S 0.0 0.1 0:00.00 /usr/lib/courier-imap/libexec/couriertcpd -address=0 -maxprocs=5
        1664 root 25 0 2640 328 252 S 0.0 0.0 0:00.00 /usr/sbin/courierlogger -pid=/var/run/pop3d.pid -start -name=pop
        1665 root 25 0 4792 524 424 S 0.0 0.0 0:00.00 /usr/lib/courier-imap/libexec/couriertcpd -address=0 -maxprocs=5
        1670 root 25 0 2640 328 252 S 0.0 0.0 0:00.00 /usr/sbin/courierlogger -pid=/var/run/pop3d-ssl.pid -start -name
        1671 root 25 0 4792 524 424 S 0.0 0.0 0:00.00 /usr/lib/courier-imap/libexec/couriertcpd -address=0 -maxprocs=5
        1762 mailnull 15 0 29248 2584 2016 S 0.0 0.2 0:00.13 /usr/sbin/exim -bd -q60m
        1790 root 15 0 82976 46m 2352 S 0.0 4.5 0:01.98 /usr/bin/spamd -d –allowed-ips=127.0.0.1 –pidfile=/var/run/spa
        1830 root 15 0 17824 1480 1028 S 0.0 0.1 0:00.05 pure-ftpd (SERVER)
        1833 root 18 0 16524 1364 1068 S 0.0 0.1 0:00.02 /usr/sbin/pure-authd -s /var/run/ftpd.sock -r /usr/sbin/pureauth
        1841 root 18 0 11004 1100 524 S 0.0 0.1 0:00.11 crond
        1853 root 15 0 36588 3020 2176 S 0.0 0.3 0:00.15 smbd -D
        1857 root 18 0 36588 1172 328 S 0.0 0.1 0:00.00 smbd -D
        1858 root 18 0 27108 1332 796 S 0.0 0.1 0:00.40 nmbd -D
        1969 root 18 0 53844 14m 1832 S 0.0 1.4 0:00.46 cpdavd – accepting connections on 2077 and 2078
        1988 root 18 0 23032 6472 1376 S 0.0 0.6 0:00.06 queueprocd – wait to process a task
        1993 root 18 0 26152 7648 1808 S 0.0 0.7 0:01.52 tailwatchd
        2001 root 33 18 14652 2720 752 S 0.0 0.3 0:00.02 cpanellogd – sleeping for logs
        3083 root 18 0 62244 11m 1444 S 0.0 1.1 0:00.99 cpsrvd – waiting for connections
        3084 root 22 0 2660 412 328 S 0.0 0.0 0:00.00 /usr/sbin/portsentry -tcp
        25627 root 16 0 83668 47m 2428 S 0.0 4.6 0:04.22 spamd child
        32692 root 15 0 37320 2676 2080 S 0.0 0.3 0:00.03 sshd: [email protected]/0

        • nginx log 03:24

          2011/10/16 03:24:39 [notice] 1818#0: signal 15 (SIGTERM) received, exiting
          2011/10/16 03:24:39 [notice] 1819#0: signal 15 (SIGTERM) received, exiting
          2011/10/16 03:24:39 [notice] 1821#0: signal 15 (SIGTERM) received, exiting
          2011/10/16 03:24:39 [notice] 1817#0: signal 15 (SIGTERM) received, exiting
          2011/10/16 03:24:39 [notice] 1820#0: signal 15 (SIGTERM) received, exiting
          2011/10/16 03:24:39 [notice] 1820#0: exiting
          2011/10/16 03:24:39 [info] 1818#0: epoll_wait() failed (4: Interrupted system call)
          2011/10/16 03:24:39 [notice] 1818#0: exiting
          2011/10/16 03:24:39 [info] 1819#0: epoll_wait() failed (4: Interrupted system call)
          2011/10/16 03:24:39 [info] 1821#0: epoll_wait() failed (4: Interrupted system call)
          2011/10/16 03:24:39 [notice] 1819#0: exiting
          2011/10/16 03:24:39 [notice] 1821#0: exiting
          2011/10/16 03:24:39 [notice] 1820#0: exit
          2011/10/16 03:24:39 [notice] 1819#0: exit
          2011/10/16 03:24:39 [notice] 1821#0: exit
          2011/10/16 03:24:39 [notice] 1818#0: exit
          2011/10/16 03:24:39 [notice] 1817#0: signal 17 (SIGCHLD) received
          2011/10/16 03:24:39 [notice] 1817#0: worker process 1820 exited with code 0
          2011/10/16 03:24:39 [notice] 1817#0: signal 29 (SIGIO) received
          2011/10/16 03:24:39 [notice] 1817#0: signal 17 (SIGCHLD) received
          2011/10/16 03:24:39 [notice] 1817#0: worker process 1821 exited with code 0
          2011/10/16 03:24:39 [notice] 1817#0: signal 29 (SIGIO) received
          2011/10/16 03:24:39 [notice] 1817#0: signal 17 (SIGCHLD) received
          2011/10/16 03:24:39 [notice] 1817#0: worker process 1818 exited with code 0
          2011/10/16 03:24:39 [notice] 1817#0: signal 17 (SIGCHLD) received
          2011/10/16 03:24:39 [notice] 1817#0: worker process 1819 exited with code 0
          2011/10/16 03:24:39 [notice] 1817#0: exit
          2011/10/16 03:26:27 [notice] 1816#0: using the “epoll” event method
          2011/10/16 03:26:27 [notice] 1816#0: nginx/1.1.5
          2011/10/16 03:26:27 [notice] 1816#0: built by gcc 3.4.6 20060404 (Red Hat 3.4.6-11)
          2011/10/16 03:26:27 [notice] 1816#0: OS: Linux 2.6.18-028stab092.1
          2011/10/16 03:26:27 [notice] 1816#0: getrlimit(RLIMIT_NOFILE): 1024:1024
          2011/10/16 03:26:27 [notice] 1817#0: start worker processes
          2011/10/16 03:26:27 [notice] 1817#0: start worker process 1818
          2011/10/16 03:26:27 [notice] 1817#0: start worker process 1819
          2011/10/16 03:26:27 [notice] 1817#0: start worker process 1821
          2011/10/16 03:26:27 [notice] 1817#0: start worker process 1822

    • kernel guncellemesini bir dene usta, sonrasinda ayni srun devam ederse nginx kurulumunu diger uygulamalarda dahil en bastan al.. bende yeni nginx conf dosyasi uzerinde gelistirme yapip son versiyonlara uyarlayacagim, konuyu zaman icinde guncelleyecegim…

  93. Biraz kabalık yapabilirim kusura bakmayin.Aslında ngnix kurulumu oldukca kolay..Sadece sakin kafayla yapmanız gerekiyor.Kopyalama yaparak kurmayın.Kafanızda bir plan oluşturun.İlk ne kurulmalı sonra ne kurmam gerek diye düşünürek adım atın.Yoksa işin içinden çıkamazsınız.

    • kabalik degil aslinda. Kopyalama yapmadan kurmak biraz zor olur, cunku bash kodlari epey fazla :) ayrica dedigin gibi planli hareket eder, dusunerek ilerlerseniz zamandan kazanirsiniz, olasi sorunlarida kolayca gecersiniz..

  94. slm kuaza vps olduğu için kernel update olmuyor. sanırım cpanel’in crondaki script update’i sırasında oldu bu ama loglara baktım çok kabarık ayıklamak çok zor. forumda da hatanın nginx kaynaklı değil bir scripten kaynaklandığı yazılmış. nginx her dakika kontrol edecek ve çöktüğü zaman yeniden başlatacak bir script bulabilir miyiz.

    • Apache’yi yeniden derleme sansin varmi ? vps konularinda pek bilgim yok, apache derlersen bir sorun cikarmi emin degilim ama yinede onemli dosyalarini yedek alip bir derleme yapmaya calis. Sorunlu scriptin duzelme sansi olabilir…

    • Usta eger dusundugum gibiyse asagida dediklerimi bir yap. Yukaridaki dokumanda bir duzenleme yaptim. Bundan sonraki kismi ssh ye girerek tekrar uygula:

      Simdide ssh den nginx programini yeniden baslatma, kapatma, baslatma gibi fonksiyonlari kazandirabilmemiz icin gereken scripti yazip kaydediyoruz. Bunun icin asagidaki adimi izlemeniz yeterli olacaktir:

      Dedigim kisimdan sonra asagidaki yere kadar ne yazilmis ise uygula:

      # service nginx restart

      **************

      Tahminlerim dogruysa apache derlemeye gerek kalmayabilir.. Deneyip sonucu yazmani bekliyorum usta, zaten dokumanda kisa sure sonra ince ve gelistirme yapmaya baslayacagim.. Her sorunun ve problemin bilinmesi, cozulmesi iyi olur bizim icin :)

  95. Aslinda vps,dediacted sunucularda nginx kurulumunu gerceklestirmistim.fakat sizin sanirim kernelden degilde apache saglam derleyip denediniz mi? bendede su durum olmustu.daha once litespeed kurup silmeden nginx kurmustum.fakat eklenti ve modullerinden yuzunden hatalar aliyordum.gozunuzden kcan birsey olabilir…

    • apache derlemesine dokunulmadı. sorunsuz çalışan sistem ne olduysa her gece aynı saatte kapanmaya başladı. ne eklenti yüklendi ne de modül. ne yaptıysa otomatik güncelleme yaptı

  96. Hakan verdigin sayfalarida ziyaret ettim, ordada senin sorununa yakin bir problemden muzdarip arkadasimiz vardi. Daha oncede dusundugum gibi sorunun kaynagi daha once tekrar yap dedigim yerde. Asagidaki yazdiklarimi deneyerek birde sonuc almayi bekleyelim:

    Ssh giris yaparak asagidakini enterla:
    nano /etc/init.d/nginx

    icerisindekini asagidaki ile degistirin:

    #!/bin/sh
    #
    # Nginx duzenlemesi / makaleci.com / kuaza
    # nginx – this script starts and stops the nginx daemon
    #
    # chkconfig: – 85 15
    # description: Nginx is an HTTP(S) server, HTTP(S) reverse
    # proxy and IMAP/POP3 proxy server
    # processname: nginx
    # config: /etc/nginx/conf/nginx.conf
    # config: /etc/sysconfig/nginx
    # pidfile: /var/run/nginx.pid

    # Source function library.
    . /etc/rc.d/init.d/functions

    # Source networking configuration.
    . /etc/sysconfig/network

    # Check that networking is up.
    [ “$NETWORKING” = “no” ] && exit 0

    nginx=”/usr/local/nginx/sbin/nginx”
    prog=$(basename $nginx)

    NGINX_CONF_FILE=”/usr/local/nginx/conf/nginx.conf”

    [ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx

    lockfile=/var/lock/subsys/nginx

    start() {
    [ -x $nginx ] || exit 5
    [ -f $NGINX_CONF_FILE ] || exit 6
    echo -n $”Starting $prog: ”
    daemon $nginx -c $NGINX_CONF_FILE
    retval=$?
    echo
    [ $retval -eq 0 ] && touch $lockfile
    return $retval
    }

    stop() {
    echo -n $”Stopping $prog: ”
    killproc $prog
    retval=$?
    echo
    [ $retval -eq 0 ] && rm -f $lockfile
    return $retval
    }

    restart() {
    configtest_q || configtest || return 6
    stop
    start
    }

    reload() {
    configtest_q || configtest || return 6
    echo -n $”Reloading $prog: ”
    killproc $nginx -HUP
    echo
    }

    configtest() {
    $nginx -t -c $NGINX_CONF_FILE
    }

    configtest_q() {
    configtest >/dev/null 2>&1
    }

    rh_status() {
    status $prog
    }

    rh_status_q() {
    rh_status >/dev/null 2>&1
    }

    # Online upgrade nginx binary on the fly, with no downtime.
    # details: http://sysoev.ru/nginx/docs/control.html#upgrade
    upgrade() {
    configtest_q || configtest || return 6
    echo -n $”Upgrading $prog: ”
    kill -USR2 cat /var/run/$prog.pid
    sleep 1
    if test -f /var/run/$prog.pid.oldbin
    then
    kill -QUIT cat /var/run/$prog.pid.oldbin
    success $”$prog online upgrade”
    echo
    else
    failure $”$prog online upgrade”
    echo
    exit 1
    fi
    }

    case “$1″ in
    start)
    rh_status_q && exit 0
    $1
    ;;
    stop)
    rh_status_q || exit 0
    $1
    ;;
    reload)
    rh_status_q || exit 7
    $1
    ;;
    upgrade|force-reload)
    rh_status_q || exit 7
    upgrade
    ;;
    condrestart|try-restart)
    rh_status_q || exit 7
    restart
    ;;
    restart|configtest)
    $1
    ;;
    status|status_q)
    rh_$1
    ;;
    *)
    echo $”Usage: $0 {start|stop|reload|force-reload|restart|try-restart|status|configtest}”
    exit 2
    esac

    sonrasinda f2 yaparak yada ctrl+f2 yaparak dosyayi kaydedin..
    chmod 755 /etc/init.d/nginx
    chkconfig –add nginx
    chkconfig –level 345 nginx on

    Daha sonra bunu komut satirina asafidakini girerek enter yapin:

    nano /etc/sysconfig/nginx

    asagidakileri yapistirip, kaydedin..

    # Configuration file for the nginx service

    ulimit -n 16384

    # set this to the location of the nginx configuration file

    NGINX_CONF_FILE=/usr/local/nginx/conf/nginx.conf

    Tekrar config dosya ayarlarinin duzgun olup olmadigini kontrol ediyoruz:
    # service nginx configtest

    Ve Buyuk An Nginx’i baslatiyoruz:
    # service nginx start

    Sorunsuz basladiginiz goruyorsaniz islemleri basari ile gecmissiniz demektir :)

    Bide boyle deneyelim bakalim.. ben uyguladim sorun cikmadi, belki sen denersen problemini kismende olsa cozebilirsin..

    • [email protected] [~]# chkconfig -add nginx
      -add: unknown option
      [email protected] [~]# chkconfig .add nginx
      chkconfig version 1.3.13.5.EL4 – Copyright (C) 1997-2000 Red Hat, Inc.
      This may be freely redistributed under the terms of the GNU Public License.

      usage: chkconfig –list [name]
      chkconfig –add
      chkconfig –del
      chkconfig [–level ]
      [email protected] [~]# chkconfig –add nginx
      service nginx does not support chkconfig
      [email protected] [~]# chkconfig level 345 nginx on
      chkconfig version 1.3.13.5.EL4 – Copyright (C) 1997-2000 Red Hat, Inc.
      This may be freely redistributed under the terms of the GNU Public License.

      usage: chkconfig –list [name]
      chkconfig –add
      chkconfig –del
      chkconfig [–level ]
      [email protected] [~]# chkconfig –level 345 nginx on
      service nginx does not support chkconfig
      [email protected] [~]# nano /etc/sysconfig/nginx
      [email protected] [~]# nano /etc/sysconfig/nginx
      [email protected] [~]# service nginx configtest
      /etc/init.d/nginx: line 127: try-restart: command not found
      /etc/init.d/nginx: line 127: force-reload: command not found
      /etc/init.d/nginx: line 65: ./usr/local/nginx/sbin/nginx.: No such file or directory
      /etc/init.d/nginx: line 65: ./usr/local/nginx/sbin/nginx.: No such file or directory
      /etc/init.d/nginx: line 127: configtest}.: command not found
      [email protected] [~]# [email protected] [~]# chmod 755 /etc/init.d/nginx

  97. Durup dururken boyle bir hata vermesi cok anlamsiz, illaki yaptiginiz birseyler vardir. Cpanel in guncellemesi belki bazi uygulamalarda bozulmaya neden olmus olabilir, ancak yeniden kurdugunuzda bunun duzelmesi gerekirdi :(

    • pes ediyorum senin güncellemeni bekleyip tekrar kuracağım..

      şimdilik sorunu

      #crontab -e

      24 03 * * * /sbin/reboot

      ile çözdüm her gece saat 03:24 ‘te otomatik reboot atılıyor.

  98. Dostum güncellemeni bekliyoruz.. Bir de cpanelsiz kurulum ve plesk için nasıl kurabilirzi bilgin var mı? vps ücretlerinde en büyük kalem panel lisansı!

  99. 1.0.11 versiyonu çıktı ben hala bu yolla güncelliyorum çünkü bu makaleye göre kurdum bunu adam akıllı silebilirsem 2. makaleye göre tekrar yükleyeceğim. Kuaza directadmin için bekliyoruz.

  100. usta bu hata veriyo bi baksan diyorum çoık aciiiiilll siteler kapalı durumda

    [email protected] [~]# sh nginx.sh
    nginx.sh: line 3: syntax error near unexpected token &'
    nginx.sh: line 3:
    cat > “/usr/local/nginx/conf/nginx.conf” <<EOF’
    [email protected] [~]#

    • [email protected] [~]# sh nginx.sh
      nginx.sh: line 3: syntax error near unexpected token &'
      nginx.sh: line 3:
      cat > “/usr/local/nginx/conf/nginx.conf” <<EOF’
      [email protected] [~]# sh nginx.sh
      nginx.sh: line 3: syntax error near unexpected token &'
      nginx.sh: line 3:
      cat > “/usr/local/nginx/conf/nginx.conf” <<EOF’
      [email protected] [~]#

    • Dokumani guncelledim, o hata veren kisim karakter hatasidir. sorun bizden kaynakli idi, eklenti degismistim kodlari gostermek icin, onun azizligi, tekrar denersen sorunsuz calisacaktir. soz konusu hatali karakterleri duzelttim :)

  101. öncelikle çok güzel bir açıklama olmuş ama anlatım fazla profösyönel olmuş biraz daha basite alabilirdiniz aslında benim şöyle bir sorum olacak bugün siteme ulaşamama problemi yaşadım okuma yazma iznindan kaynaklı baya araştırdım düzeltmeye çalıştım site düzeldi admin paneli bozuldu derken 1 hafta evvelki backup vardı yükledim düzeldi bu arada özellikleri gezerken servis durumuna baktım nginx hariç hepsi çalışıyor nginx fail durumda o şekilde burayı buldum şimdi daha evvelden varmıydı bilmiyorum ama fail demesi bugünkü sorundamı olmuştur yoksa hiç çalışmıyormudur bu sorundan olduysa sadece nginx yükleyerek düzeltebilirmiyim (yani yukarda yazdıklarınız yapmadan sadece nginx yükleyerek) bu arada
    c panel kullanıyorum cevabınızı bekliyorum umarım yardımcı olursunuz.

    • Eger gelen isteklerin portunu nginx e yonlendirmis iseniz nginx in calismiyor olmasi ihtimali oldugunda sitelerinize hic ulasilamamasi gerekli olurdu ki sanirim sorun duzelmis ama hala nginx fail hatasi veriyor calismiyorsa bu nginx in aktif olarak islem gormedigi yani calismadigi hala sisteminizin apachi uzerinden yayin yaptigi anlamina gelir. bu konuda tavsiyem yukaridaki makaleyi bastan uygulayarak nginxi sorunsuz ve stabil sekilde kurmaniz olacaktir.

  102. 4. adımdaki portu 81den 80 e çavirdim nginx i stopladım şu an site apache ile çalışıyor. siz yanıt verene kadar bu şekilde kalması gerek dediğim gibi nginx çalışıp port 81 olduğunda welcome to nginx yazıyor site verilerini okumuyor. sunucu genelinde tüm sitelerde böyle oluyor

  103. Merhaba

    welcome to nginx yazısı nginx çalıştığını ve vhost.confg dosyasının path yollarını ayarlı olmamasından kaynaklanmaktadır.

    Yani siteleriniz için ayrı ayrı vhost tanımlaması yapmanız gerek.

    #location ~* .(gif|jpg|jpeg|png|wmv|avi|mpg|mpeg|mp4|js|css)$ {
    # root $ROOT/public_html;
    #}

    Yukarıdaki vhost.conf un satırlarından bir tanesini örnek olarak belirtiyorum. # kaldırmanız gerekmektedir.

  104. hocam cpanelin süresi bittiği için tweak update yapamıyorum yani 80 portunu 81 yapamıyorum httpconf rebuild yaptığımda yaptığım tüm ayarlar yani port 81 olan yerler yine 80 oluyor

  105. Hocam ben şimdi tek başına fpm-php ile apacheden bağımsız nginx kurdum. Siz bu işlerden anlıyorsunuz. Bir kaç soru sormak isterim.

    Dell R210-2 makinam var. nginx worker_procesess değerini şimdi 8 mi yapmam gerekiyor. İşlemci değerleri 8 core olarak görünüyor.

    Birde Google Webmaster Tools’da ufak tefek “Server No: Response” hatası alıyorum. Bunun kayanğı sizce ne olabilir.

    • islemci sayisini belirlemekte sorun yasiyorsunuz sanirim. Bence mevcut islemcilerden 2 yada 3 unu kenarda birakip, diger uygulamalar icin, gerisini nginx e atayin. Dns sorunlari yasiyor olabilirsiniz. bunun icin intodns.com dan sitenize bakmanizi tavsiye ederim.

  106. Ayrıca nginx.sh kısmındaki

    cat >> “/usr/local/nginx/conf/vhost.conf” < > “/usr/local/nginx/conf/vhost.conf” <<EOF olacak.Aşağıdaki satırlarda bu << 2 adet olacak ayırmadan <<EOF

  107. :D ya üstad.inanır mısın bilmem ama yeni vds’ime kurdum.Seri bir açılışı var.Konu süper anlatılmış.Kurulumu yapamayanlar varsa şayet bu konu hakkında sorsun yardımcı oluruz. :)

Bir Cevap Yazın