cihan dokur: 2015
Yüksek performans istenen projelerde sistemlerin Microsoft teknolojileri ile istenen çözümleri yersiz kaynak tüketimi yapmadan olamayacağını anladığımdan beri, son bir kaç yıldır Linux dünyasını incelemeye başlamıştım. İşin içine girdikçe gördüm ki çok geç kalmıştım :(
Zararın neresinden dönersek kardır misali çalışmalara devam ettim. İşte geldiğim noktada bügün harika bir üçlü olarak gördüğüm MongoDb, NodeJs ve Nginx'in Debian 7 (wheezy) üzerinde kurulumlarını kısaca anlatmaya çalışacağım.
İlk olarak Debian üzerindeki paketleri alacak olduğunuz kaynak listelerini güncellemekte fayda var.
Çünkü ilk kurulumdaki kaynak listesinde kurulum DVD'si kalıyor ve siz değiştirmedikçe ilk kurulumları hep DVD'den yapmak istiyor.
İlk olarak kaynak listesini düzenleyelim;
Yukarıdaki komutu console dan yazıyoruz ve eski satırların başlarına # işaretini ekleyip eski olan satırları yorum yapıp kapatıyoruz.
Sonrasında aşağıdakileri kaynak listesine ekliyoruz.
Ctrl + O ile yaptığımız değişiklikleri kaydediyoruz ve Ctrl + X ile editörden çıkıyoruz.
Yaptığımız değişikliklerden sonra varsa sistemdeki olası güncellemeleri yapmak için aşağıdaki komutları çalıştırmakta fayda var. Güncel bir kurulumunuz var ise yapmanıza çokta gerek olmayabilir.
İlk önce GPG Key oluşturmamız gerekiyor.
Aşağıdaki komut ile GPG Key oluşturuyoruz
Yukarıdaki işlemi tamamladıktan sonra kaynak listesine MongoDb kaynak listesini ekliyoruz.
Aşağıdaki komut ile kaynak listesine ekleme yapıyoruz
Eğer Debian'ı kurarken lsb_release kurmadı iseniz aşağıdaki komut ile kurabilirsiniz.
Bu işlemleri yaptıktan sonra paketlerimizi güncellemekte fayda var ve aşağıdaki komut ile güncelliyoruz.
Artık MongoDB yi Debian üzerine kurmaya hazırız. Aşağıdaki komut ile kuruyoruz. Burada -y parametresini sistem her defasında kendi root olarak mongod servisini çalıştırsın diye özellikle veriyoruz.
Yukarıdaki komutu çalıştırdıktan sonra sistem paketleri indirip kurmaya başlayacak ve son olarakta mongod servisini çalıştıracak ve böylelikle MongoDb Debian üzerinde çalışmaya başlayacak.
NodeJS'i kurmadan önce NPM paketlerini sistemimize rahatlıkla yüklemek için NodeJS NPM kaynaklarını sistemimize tanıtmamız gerekiyor ve bunu da Curl ile yapıyoruz. Bu durumda sisteminizde ilk kurulumda Curl de yüklü olmayabilir.
Aşağıdaki komut ile ilk olarak Curl kuruyoruz.
Curl kurulumu bittikten sonra NPM paketlerini yerini göstermek için aşağıdaki komutu çalıştırıyoruz.
Şimdi artık NodeJs'i sistemimize kurabiliriz. Aşağıdaki komut ile kurulumu yapıyoruz.
NodeJs'in Build Tool'unu kurmak istersenizde aşağıdaki komutu çalıştırmanız yeterli olacaktır.
Böylelikle NodeJs kurulumunu da tamamlamış olduk.
Nginx kurulumu için aşağıdaki komutu kullanabilirsiniz.
Nginx'in ekstra olan paketlerini kurmak için ise aşağıdaki komutu kullanabilirsiniz.
sudo apt-get install nginx-extras supervisor
Nginx kurulumunu da tamaladıktan sonra şimdi sıra NodeJs ile Nginx'i birlikte çalıştırmaya geldi.
Tahmin edeceğiniz üzere bazı ayarlar yapmak gerekiyor.
Nginx'in virtual.conf dosyasında değişiklik yapmak gerekiyor. Aşağıdaki komut ile dosyayı düzenlemeye başlıyoruz.
virtual.conf dosyasına aşağıdaki değişiklikleri ekledikten sonra nginx servisini restart etmeniz halinde Nodejs artık Nginx üzerinde çalışmaya başlayacaktır.
Ayarları kendinize göre değiştirebileceğinizi unutmayın.
Ayaraları kaydettikten sonra Nginx restart komutu yazıyoruz.
Son olarak yaptığımız ayarların çalıştığını görmek için aşağıdaki gibi küçük bir NodeJs uygulaması yazıyoruz ve app.js ismi ile kaydediyoruz.
res.end('Merhaba, Nginx üzerinden NodeJs kodunu çalıştırdınız.\n');
console.log('Sunucu http://10.211.55.6:2015/ üzerinde çalışıyor.')
Sonrasında ise NodeJs'in yazmış olduğumuz uygulamayı aşağıdaki komut ile çalıştırmasını sağlıyoruz.
Son olarak, eğer sunucunun restart edilmesi durumunda NodeJs'in app.js'i yeniden çalıştırmasını istiyorsanız nodejs'in forever paketini kurmanız gerekiyor ve ve forever'a app.js'i her start da çalıştırması gerektiğini bildiren komutu vermeniz gerekiyor.
Umarım işinize yarar, zaman ayırıp okuduğunuz için teşekkürler.
Etiketler: app.js, debian, linux, mongodb, nginx, nodejs
Debian 7 (wheezy) üzerinde MongoDb, NodeJs ve Ngin...