Kod Satırlarıyla Apachi’den Nginx’e Nasıl Geçiş Yapabilirsiniz

Centos Nginx + Php-fpm + mysql kurulumu (Sadece 10 saniye) – Panelsiz web sunucusu

Centos Nginx + Php-fpm + mysql kurulumu (Sadece 10 saniye) - Panelsiz web sunucusu

Centos sunucularda Panel kullanmadan webserver kuralim. Bu webserver nginx + php + mysql ile bizlere dinamik siteler olusturma imkani versin. Dunyanin heryerindende bu websitesine ulasilsin. O zaman makalemi dikkatlice takip edin, cunku daha once hic bu kadar basit anlatmamistim.

Anlatimim yeni kurulmus Centos 6 x64 (minimal) isletim sistemleri uzerinden olacaktir. Kullandigim sunucunun ozellikleri (vps): 1 CPU (intel), 15gb SSD hdd, 750 mb ram..

 

UYARI: Centos 6 versiyonunda denendi. Centos 5 versiyonunda php-fpm kurulmadigindan uygun degildir..

Anlatim konulari

  1. Nginx proxy web sunucusunu kuracagiz
  2. Sitemizi ekleyecegiz ve online duruma getirecegiz (calisir duruma)
  3. Calisir durumda bir web sunucumuz ve bir websitemiz olacak (html)
  4. Php calistirmak icin php-fpm kuracagiz.
  5. php dosyalarini calisir duruma getirmek icin nginx site konfigurasyonu yapacagiz
  6. Sitemizdeki php dosyalar calisir duruma gelecek, dunya bize hayran kalacak
  7. Nginx icin url rewrite olayini inceleyecegiz ve calisir ornek yapacagiz. (http://site.com/index/kuaza)
  8. Mysql server kurup calisir duruma getirecegiz.
  9. PDO ve mysql-pdo butunlesmesi icin gerekli bilesenleri kuracagiz.

Bu makalemde sizlere bir surpriz yaparak iki anlatima yer verecegim. Ilk anlatimda 3 adimda butun bilesenleri kurup, websitenizi ekleyeceksiniz. Diger anlatimda da detaylara yer vererek biraz daha uzun aciklamalar yapacagim. iki anlatimda ayni yola cikiyor arkadaslar, ilk anlatim 15 saniye surmekte ve acemiler icin onermekteyim. Sirf ilk anlatim icin 2 gundur bash script hazirliyorum, umarim herkesin isini gorecektir.

Yapilan degisiklikler ve guncellemeler

 

1. Yontem – Bash scripti ile kurulum ve site ekleme

Bu yontem icin iki dosya hazirladim. Kullanimi cok basit, bunlar:

  1. Gerekli programlarin kurulumunu yapacak dosya (nginx, php-fpm, mysql, pdo)
  2. Yeni site ekleyeceginiz zaman kullanacagimiz dosya.

1. dosyayi sadece kurulum icin kullanacagiz, 2. dosyayida site eklemek icin kullanacagiz. Ilk olarak ssh panelimizi acalim ve bu dosyalari islem yapacagimiz dizine cekelim.

* Programlari kuralim (nginx, php-fpm, mysql)

Sonrasinda ihtiyacimiz olan programlari kuralim, ssh terminaline asagidaki kodu yazarak enter yapin:

Bu islemden sonra ihtiyacimiz olan: Nginx, Php-fpm, Mysql, Pdo (php-mysql, php-pdo) programlari kurulmus olacak. Cok basit oldu dimi :) birde site ekleme olayina bakin :)

* Yeni site ekleme

Asagidaki sekilde yeni site ekleyebilirsiniz. Parametreleri alt kisimda verecegim:

Bundan sonra size bir kac soru soracak, sorulara gereken evet|hayir cevabini verdikten sonra site ekleme isini bitirin. Yeni site ekleyeceginiz zaman bu islemi tekrar etmeniz yeterli olacaktir. Uygulamada bir kac parametre mevcut, bunlari default ayarlar yerine degistirebilirsiniz.

Site dosyalari icin default olarak public_html klasoru olusturarak acar. bunu degistirmek isteyebilirsiniz.

Default site dosyalari dizini bu sekilde olusturulur:/home/yeni-site.com/public_html

public_html klasorunun ismini degistirmek isterseniz, site eklerken asagidaki sekilde yapmaniz gerekli:

goreceginiz gibi site_dosyalari kismi bizim sitemiz icin gerekeli olan (index.php v.s) dosyalarinin bulundugu klasor oldu. Site dosyalarinizi bu klasore yukleyeceksiniz: /home/yeni-site.com/site_dosyalari

Uygulamada ornek site dosyalari yuklemek istermisiniz diye sordugunda evet derseniz site dizin icerisinde: index.php, index.html, 404.html, phpinfo.php dosyalari olusturacak ve calisir duruma getirecek.

Sonraki 3. parametre /home dizinini degistirmeye yariyor. 4. parametre ise nginx site konfigurasyon dosyalarinin oldugu klasoru degistirmeye yariyor. Bu kisimlari default ayarlarinda birakmanizi tavsiye ederim, tecrubeli kisilerin konuya hakim arkadaslari icin ekledim.

Ornek parametreler: default ayarlar

Sitenizi tarayicida acin, ve artik yayinda :)

Yukaridaki islemin basitligini anlatmak icin kucuk bir video ile kurulum ve site ekleme islemini anlatacagim. Konu hakkiinda acemi arkadaslar icin ornek niteliginde olacaktir.

Kolayca Mysql veritabani olusturma ve kullanici ekleme *20/03/2015*

Panelsiz websunucusu kullanan arkadaslarin ki benimde devamli kullanacagim bir uygulama daha ekleyrek dokumani ve uygulamayi bir adim gelistirmek istedim. ssh panelinden kolayca veritabani eklemek cok kolay. Sadece asagidaki kod ile mysql veritabaninda veritabani olusturabilir, kullanici ve sifre ekleyebilirsiniz.

Yukaridaki kodu her defasinda ekleyeceginiz veritabani ve kullanici adi/sifre duzenleyerek uygularsaniz veritabani aninda olusturulacak, kullanima hazir hale gelecektir.

Bu ozelligi basligin yanindaki tarihte ekledim makaleye, ilk kisimdaki °programlari kuralim° basliginda yer alan kodu tekrar calistirarak veritabani olusturma dosyamizida indirmeniz gereklidir.

Veritabani ekleme kismini manuel yapmak isterseniz, burdaki:SSH ile Mysql database oluşturma, kullanıcı oluşturma, database silme konusunu takip edebilirsiniz.

2. Yontem – Detayli anlatim

Oncelikle sistemimize EPEL deposunu ekleyelim, cunku normal depolarda nginx bulunmuyor sanirim. Epel deposunu yum listemize eklemek icin buradaki konuyu takip edin.

Sonrasinda asagidaki kodu ssh terminal ekranindan yazarak enter yapin:

Bu islemden sonra gerekli olan programlari kurduk: Nginx php-fpm, mysql pdo ve mysql baglantisi icin php-mysql

Sonrasinda asagidaki islemleri yaparak uygulamarimizi baslatalim:

Yeni kullanici, site ekleyelim:

Kullanicimiz yani domainimiz eklenmis oldu. Yukaridaki islemleri sirasi ile uyguladiginizda site dosyalari icin kullanilacak klasorumuzude olusturmus olacagiz. Ayrica kullanici ve grup izinlerini, chmod ayarlarini yapacagiz. Boylece dosya izinleri ile ilgili sorun yasamamis olacagiz.

Nginx site konfigurasyon dosyasi olusturalim.

Nginx programina siteyi tanitmamiz gerekli, aksi durumda sitemize erisim olmayacak, nginx uyari sayfasi cikacaktir.

Oncelikle ssh terminalinden nano yardimi ile bir dosya acalim, site-ismi.com kismini sitenize gore duzenlemeyi unutmayin (yukardaki ile ayni olacak)

Sonrasinda icerisine asagidaki kodlari kendinize duzenledikten sonra yapistirin:

Bu islemden sonra ctrl + x – y – enter yaptiginizda ayarlari kaydedip dosyadan cikacaktir (duzenlemeden)..

Sonrasinda nginx e restart atarak siteyi ekledigimizi ve yeni ayarlari kabul etmesini rica edecegiz :)

Bu islemlerin sonunda sitenizin aciliyor olmasi gerekli, ancak sitenizin ana dizinine bir kac dosya yukleyip oyle deneyin, cunku site dosyalari klasoru suanda bos :)

Guvenlik duvari icin 80. portu acalim

Bazi durumlarda 80. port acik olmayabilir ve iptables guvenlik yazilimida buraya gelen istekleri engelleyebilir. Bu sebeple asagidaki kodu ssh terminalinde yazarak enter yapin:

Ayarlari kaydedip, yeniden baslatalim:

Kurdugumuz programlarin, sunucu acilirsa yada yeniden baslatilirsa otomatik olarak acilmasi icin asagidakileri yayaplim, onemlidir, ne olur ne olmaz:

php-rpm programimizda da bir kac duzenleme yapmamiz gerekli. Asagidaki dosyayi acalim:

Icerisinde bulun, her sayiri ayri ayri duzenleyecegiz:

apache yazan yerleri nginx olarak degistirin ve kaydedin. Sonrasinda php ye restart atalim:

Bu Anlatiminda sonuna geldim arkadaslar, ilk yontemde kullandigim bash shell scriptini gelistirebilirim, ilerki zamanlarda oneri ve goruslerinize gore eklemelerde yapabilirim..

Anlamadiginiz yerde sorarsaniz geri donus olacaktir. Kolay gelsin..

http://kuaza.com/linux-arena/centos-nginx-php-fpm-mysql-kurulumu-sadece-10-saniye-panelsiz-web-sunucusu

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Şu HTML etiketlerini ve özelliklerini kullanabilirsiniz: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>