Nano Konfigürasyonu ve Syntax Highlight

Öncelikle home dizininize syntax highlighter paketlerini indirin:

Home dizininize yoksa .nanorc dosyası oluşturun:

Tüm dilleri nanoya tanıtmak için:

Nano örnek konfigürasyon dosyasını şurada bulabilirsiniz:

Benim kullandığım config ise şu şekilde:

https://gist.github.com/msdundar/b753f94c80fcce1706aa

Passenger ve Nginx Konfigürasyonu

Önceki Yazılar:

Özenle hazırladığım, sorunsuz çalışan nginx konfigürasyonumu belki birileri göz atar diyerek paylaşıyorum. Yurtdışında pek çok sistem yöneticisi bu şekilde konfigürasyon dosyalarını birbirleri ile paylaşarak peer-review yapmaktalar. Bende bu review’ların pek çoğunu ve official nginx dökümanını okuyarak aşağıdaki konfigürasyonu hazırladım.

Konfigürasyon Debian 7.7 kurulu olan bir Rails sunucusu içindir. Web sunucu olarak Nginx + Passenger kullandım. Veritabanı sunucusu ise MySQL 14.14. Uygulama olarak Ruby 2.1.5 sürümü ve Rails 4.1.2 kurulu. Makinada 8 GB RAM bulunuyor ve 8 çekirdekli. Makina üzerinde sadece 1 tane Rails uygulaması koşuyor ve onunda VM boyutu 344mb. passenger-memory-stats çıktısı aşağıdaki şekilde:

passenger-memory-stats

/etc/nginx/nginx.conf dosyası:

Daha sonra:

/etc/nginx/sites-enabled/ klasörü içerisinde ais.conf isimli bir dosya oluşturun – içeriği şöyle olacak:

Nginx konfigürasyonunda hata varmı kontrol için:

Nginx'e Rails Uygulamasının Deploy Edilmesi

Phusion Passenger üzerinde bir Rails (veya herhangi bir Rack uygulaması) deploy edebilmek için uygulamanın bulunduğu dizinde üç dosyanın bulunması zorunludur:

  • config.ru dosyası
  • public/ klasörü
  • tmp/ klasörü

Yani /herhangi/bir/klasor/‘de bulunan Rack uygulamanızın minimum görünümü şu olmalıdır:

Uygulamanız çalışabilmesi için nginx konfigürasyon dosyanızı (/etc/nginx/nginx.conf) yapılandırmanız gereklidir:

Daha sonra nginx ve passenger’ı restart etmelisiniz:

En temel düzeyde bir Rails uygulaması bu şekilde deploy edilebilir. Uygulamanın kurulu için, bulunduğu dizine düşerek, aşağıdaki adımları takip edin.

Bundle et:

Uygulama config dosyasını düzenle:

Dosya izinlerini güncelle:

Uygulamayı kur:

Son olarak:

Hepsi bu kadar.

Nginx ve Passenger Kurulumu – Ubuntu ve Debian

Nginx ve Passenger Kurulumu

Nginx ve passenger kurulumu ile ilgili internette pek çok İngilizce döküman bulunuyor ancak bunların pek çoğu resmi Passenger dökümanında anlatılan yolların dışında yöntemler kullanmışlar. Bunları uygulayıp, ne gibi zorluklara yol açtığını gördüğüm için, Passenger ve Nginx’in tüm dökümanlarını baştan okuyup bu yazıyı hazırladım. Öncelikle sisteminizde Ruby ve Rails kurulu değilse rbenv aracını kullanarak kurulumu yapmanız gerekiyor.

Passenger tarafından Ubuntu ve Debian için official APT reposu sağlanmakta. Bu repoyu kullandığınızda hem kurulumu kolayca yapabilirsiniz hemde güncelleştirmeleri kolayca takip edebilirsiniz. Aşağıda anlatacağım adımları takip ettiğiniz taktirde passenger-install-apache2-module veya passenger-install-nginx-module araçlarını kullanmanıza gerek kalmayacaktır.

İlk olarak PGP anahtarını sisteminize ekleyin:

Passenger reposu HTTPS’ten bağlantı kurduğu için sisteminize HTTPS desteğini kurun:

/etc/apt/sources.list.d/ klasörü altında passenger.list isminde bir dosya oluşturun ve kurulumu yapmak istediğiniz işletim sistemine uygun olarak aşağıdaki satırlardan sadece bir tanesini! ekleyin:

passenger.list dosyasının izinlerini düzenleyin ve paket listenizi güncelleyin:

Nginx paketlerini kurun:

Daha sonra, /etc/nginx/nginx.conf dosyasını düzenleyerek, passenger_root ve passenger_ruby değişkenlerini uncomment edin.

Önerdiğim şekilde Ruby kurulumunu rbenv aracı ile yaptıysanız, bu iki değişken şu şekilde olacaktır:

Nginx’i restart edin:

Şuan herşey yolundaysa nginx çalışıyor olmalıdır.

Passenger’ın çalışması için yapmamız gereken bir kaç şey kaldı:

Hepsi bu kadar. Şuan nginx ve passenger sorunsuz çalışıyor olmalı.

Nginx konfigürasyonu şurada bulunur:

Nginx hata logları şurada bulunur:

Deploy işlemleri ve Nginx konfigürasyonunu bir sonraki yazıda anlatacağım.

Rbenv ile Ruby ve Rails Kurulumu – Debian 7

Rbenv Kurulumu

Rbenv, RVM gibi ancak RVM’ye göre çok daha basit bir şekilde, birden çok Ruby versiyonunu birlikte kullanmak için geliştirilmiş bir araçtır. Sisteminizde tek bir Ruby sürümüne ihtiyaç duyuyorsanız dahi, rbenv ile kurulum yapmanızı öneririm.

Öncelikle rbenv’i /home/foo altına klonlayın:

Daha sonra PATH’e, rbenv değişkenlerini ekleyin:

Ruby sürümleri ve diğer şeyler için otomatik tamamlamayı etkinleştiren aşağıdaki komutu çalıştırın:

Terminalinizi yeniden başlatın. Daha sonra;

komutunu çalıştırdığınızda:

çıktısını görüyorsanız kurulum başarıyla tamamlanmış demektir.

Rbenv’in ruby-build eklentisini kurarak, Ruby kurulumu için ortamı hazır edelim:

Rbenv’in çalışma mantığı gereği, herhangi bir GEM kurduktan sonra her seferinde “rbenv rehash” komutunu çalıştırmamız gerekiyor. Ancak bu can sıkıcı bir iş olduğu için, bunun içinde bir eklenti yazmışlar. Bunu da sistemimize çekelim:

Rbenv kurulum işlemleri bu kadar. Şimdi Ruby’yi kuralım.

Ruby Kurulumu

Ruby için gerekli temel paketleri kurun:

Rbenv’de listelenen Ruby sürümlerine bakın:

Bunlardan kurmak istediğiniz sürümü kendiniz seçebilirsiniz. Ben bu yazının yazıldığı tarihteki en kararlı sürüm olan Ruby 2.1.5’i kullanacağım:

Herşey yolundaysa sisteminize Ruby kurulmuş olmalıdır. Rbenv ile, kurulan bu Ruby sürümünü ister sistem çapında, istersenizde uygulama çapında kullanabilirsiniz.

Sistem çapında bu sürümü kullanmak için:

Uygulama çapında kullanmak için, uygulamanızın olduğu dizine düştükten sonra, o dizin içerisinde:

komutlarını kullanabilirsiniz.

Kurulumu kontrol edin:

Rails Kurulumu

Rails kurulumunda özel bir durum bulunmamaktadır. GEM olarak kurmanız yeterlidir:

Kurulumunuz başarıyla tamamlandıysa “rails -v” komutu ile kurulmuş olan Rails sürümünü görebiliyor olmanız gerekir.

Debian için OpenJDK Kurulumu

Kaynak listenize openjdk’yı ekleyin:

Daha sonra:

Debian’da herşey yolundaysa “java -version” çıktısı şöyle birşey olacaktır:

Debian ve Ubuntu – ElasticSearch Kurulumu

ElasticSearch kurulumu yapabilmek için öncelikle sisteminizde OpenJDK kurulu olmalıdır. Kurulum için: http://www.serhatdundar.com/debian-icin-openjdk-kurulumu

OpenJDK’yı kurduktan sonra ElasticSearch kurulumuna geçebilirsiniz.

Öncelikle GPG anahtarını ekleyin:

Aşağıda ki satırı /etc/apt/sources.list dosyanıza ekleyin:

Kurulumu gerçekleştirin:

Sistem başladığında elasticsearch hizmetinin de otomatik olarak başlamasını istiyorsanız:

veya manuel olarak elasticsearch’ü başlatmak için;

Şuan herşey yolundaysa ElasticSearch çalışıyor olmalıdır. Rails uygulamalarınızda ElasticSearch ile arama yapabilmek için modelinizde ElasticSearch’ü include etmeniz gerekir. Örneğin “User” modelimize bunu include edelim:

Ardından, arama yapacağınız controller action’unda (çoğunlukla index) ElasticSearch’ü çağırmanız gerekmektedir:

Rails console’dan elasticsearch’ün çalışıp çalışmadığına aşağıdaki şekilde bakabilirsiniz;

Herşey yolundaysa status olarak green dönecektir. Elasticsearch çalışıyor ancak performans sorunları varsa yellow dönecektir.

Bonus: View Tarafı: