26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm
26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm
Hapi.js, Node.js ekosisteminde web uygulamaları oluşturmak için tasarlanmış, zengin, sağlam ve güçlü bir Node.js çerçevesidir. Basit tasarımı, kullanmaya başlamayı kolaylaştırır. Hapi, ES6 vaatleri gibi en son JavaScript ES6 özelliklerinin çoğunu kullanır. Daha önce Express'i kullanmış olanlarınız için, Hapi yeni bir şey denemenize ve en son JavaScript özelliklerinin tümünü deneyimlemenize izin verir.
Bu derste, hedefimiz Ubuntu 16.04 LTS'de Vultr VPS'de barındırılan temel bir Hapi.js web sayfası oluşturmak olacak. Siteleri için bir alan adı olanlar için, alanımızı web sitemize bağlamak için ters bir proxy kullanacağız. Son olarak, bir süreç yöneticisi ile nasıl yönetileceğini öğreneceğiz. Şimdi bunu elimizden aldık, başlayalım.
Node.js yüklememiz gerekecek. Ubuntu 16.04 LTS'de bunu yapmak için şu talimatları izleyin.
Node.js'nin en son LTS sürümünü içeren NodeSource APT deposunu eklememiz gerekecek.
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs
Depoyu kaynaklar listemize eklemek için kullanacağımız bir komut dosyası indiriyoruz ve NodeSource deposundan Node.js'yi yüklüyoruz.
Node.js'nin kendisini kurmanın yanı sıra, kurmamız gerekebilecek herhangi bir modülün oluşturulmasına yardımcı olacak bazı gerekli oluşturma araçlarını da yüklememiz gerekecek.
sudo apt-get install -y build-essential
Bu, derleme araçlarını depodan indirir ve yükler.
Uygulama için kullanacağımız, yapılandırma dosyaları ve başlangıç komut dosyaları gibi uygulamamızın tüm verilerini içerecek bir klasör belirlemek iyi bir uygulamadır. İstediğiniz her şeyi adlandırarak bir klasör oluşturun. Bu öğretici adına, adını verdiğinizi varsayacağım site
.
mkdir site
Klasörü oluşturduktan sonra artık klasöre geçebiliriz. Az önce oluşturduğunuz dizinde olduğunuzdan emin olun, NPM paket sihirbazını başlatın.
npm init
Uygulama adınız, başlangıç dosyanız, lisans vb.Gibi birkaç farklı şey girmenizi isteyecektir. Uygulamanızın adı gibi daha belirgin alanlar dışında, varsayılan olarak bırakabileceğiniz alanların çoğu. Sonunda, şöyle görünecek:
{
"name": "site",
"version": "1.0.0",
"description": "Hapi.js site",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "rich",
"license": "MIT"
}
Sonuçtan memnun kaldığınızda ENTER, dosyayı kaydetmek için tıklayın .
Dizininiz başarıyla oluşturulduğuna göre, şimdi Hapi.js'yi yüklemeye devam edebiliriz. Daha önce de belirtildiği gibi, projemiz için Hapi.js'yi ve bağımlılıklarını indirmek için NPM'yi kullanacağız. Proje dizininde aşağıdakileri çalıştırın.
npm install hapi.js
Bu, Hapi.js'yi NPM'den indirir ve proje dizinimize yükler. Aynı çalışmada, bizim kolaylığımız için Hapi.js'nin güvendiği bağımlılıklar da indirilir.
Şimdi temel Hapi.js uygulama dosyamızı kurmanın zamanı geldi. Bu, uygulama için tüm kodumuzu içerecektir. Yolun ilerisinde, uygulama kodumuzu genişletebilir ve uygun gördüğümüz şekilde daha fazla şey ekleyebiliriz.
Ardından, başlangıç dosyamızı oluşturacağız. Dosyanın tam olarak nasıl adlandırılacağını belirlemek main
için package.json
dosyanızın bölümüne bakın . Varsayılan adlandırma şemasını kullandığımdan, dosyamız çağrılacak index.js
.
nano index.js
Nano metin düzenleyicisine girdikten sonra, temel uygulama kodunuzu oluşturun.
const Hapi=require('hapi');
const server=Hapi.server({
host:'localhost',
port: 3000
});
server.route({
method:'GET',
path:'/',
handler:((request,h)) => {
return 'Sample Hapi.js Application';
}
});
async function start() {
try {
await server.start();
} catch (err) {
console.log(err);
process.exit(1);
}
console.log(`Our server is running! ${server.info.uri}`);
};
start();
İlk olarak, Hapi modülünü içe aktarıyoruz. Ardından, sunucuyu çalıştırmak istediğimiz ana bilgisayarı içeren sunucu 3000
kurucumuzu ve bu öğretici için olan bağlantı noktasını başlatırız . Ardından, bir kişi siteyi her ziyaret ettiğinde basit bir mesajla karşılanacağını belirten temel bir yönlendirici kurduk. Her şeyden önce, sunucumuzu başlatmak için sunucumuzun çalıştığı konsola giriş yapacak bir zaman uyumsuz fonksiyonumuz var. İşiniz bittiğinde dosyayı kaydedin ve kapatın ( CTRL+ X)
Artık ana dosyamız ayarlandığına göre uygulamamızı başlatmaya hazırız.
node index.js
Our server is running!
Konsolda " " görürseniz , sunucu başarıyla başlatıldı.
Nginx varsayılan Ubuntu depolarında bulunduğundan, kurulum kolaydır. Paket listelerinizi güncelleyin ve yükleyin.
sudo apt update
sudo apt install nginx -y
Paket listelerini yeniledikten sonra, Nginx ve bağımlılıkları yüklenecek.
Nginx'in uygulamamızı proxy olarak tersine çevirebilmesi için bir yapılandırma dosyası oluşturmamız gerekecek. Bu yapılandırma dosyası, Nginx'in ters proxy için kullanacağı uygulamamız hakkında bilgi içerir.
Nginx'in oluşturduğu varsayılan yapılandırmayı silin, çünkü daha sonra kendi ayarlarımızla değiştireceğiz.
sudo rm /etc/nginx/sites-enabled/default
sites-available
Klasörde yeni bir dosya oluşturun . Adlandırma gelince site
, basitlik için sadık kalabiliriz .
sudo nano /etc/nginx/sites-available/site
Dosyaya aşağıdakileri yapıştırın ve kaydedin.
server {
listen 80;
location / {
proxy_set_header X-Real-IP
$remote_addr;
proxy_set_header
X-Forwarded-For
$proxy_add_x_forwarded_for;
proxy_set_header Host
$http_host;
proxy_set_header
X-NginX-Proxy true; proxy_pass
http://127.0.0.1:3000/;
proxy_redirect off;
proxy_http_version 1.1;
proxy_set_header Upgrade
$http_upgrade;
proxy_set_header Connection
"upgrade";
proxy_redirect off;
proxy_set_header
X-Forwarded-Proto $scheme;
}
}
Bu dosyada, Nginx'e bağlantı noktasını dinlemesini söylüyoruz 80
. Proxy geçişini Hapi uygulamamızla aynı bağlantı noktası olan localhost
adrese ve bağlantı noktasına da ayarlıyoruz 3000
.
Artık uygulama dizininize geri dönebilir ve siteyi başlatabilirsiniz. Site başladıktan sonra, http://yourdomain.com
veya öğesine gidin http://yourip
ve " Hello World
" metnini göreceksiniz .
PM2, NPM deposunda bulunabilir ve global olarak her yerden erişilebilir şekilde kurabilirsiniz.
sudo npm install pm2 -g
Sondaki -g
bayrak, modülü genel modüller klasörüne kurmak istediğimizi gösterir, bu da onu proje dizinimizin dışında kullanmamıza izin verir. Bu, projemizin normal bir sistem uygulaması gibi davranması için kullanılır.
PM2'yi yükledikten sonra proje dizininize geri dönün. Uygulamamızı başlatmak için sözdizimi şimdi biraz farklı olacaktır. PM2 ile böyle yapacağız.
pm2 start index.js --name site
Temel olarak uygulamamız için bir profil oluşturan PM2 start işlevini adıyla kullanıyoruz site
. Bu komutu çalıştırdıktan sonra web siteniz başlayacak, ancak günlüklerin gösterilmeyeceğini göreceksiniz. Çünkü günlükleri şimdi görüntüleme şeklimiz farklıdır.
pm2 logs site
Bağımsız --lines
değişken ile görmek istediğiniz günlük satırı satırlarını bile belirtebilirsiniz .
Bir Hapi.js web sunucusunu başarıyla kurdunuz, Nginx ile tersine proxy uyguladınız ve PM2 ile nasıl daha iyi yöneteceğinizi öğrendiniz. Bu bilgi ile, bu öğreticiyi daha da genişletebilir ve çok gelişmiş bir Hapi.js uygulaması yapabilirsiniz. Hapi'nin olanakları hakkında daha fazla bilgi edinmek için resmi belgelerini ziyaret edin . PM2'nin olanakları hakkında daha fazla bilgi edinmek istiyorsanız, hızlı başlangıç kılavuzuna bakın .
26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm
Birçoğunuz Switch'in Mart 2017'de çıkacağını ve yeni özelliklerini biliyorsunuz. Bilmeyenler için, 'Switch'i 'olmazsa olmaz bir gadget' yapan özelliklerin bir listesini hazırladık.
Teknoloji devlerinin sözlerini yerine getirmesini mi bekliyorsunuz? teslim edilmeyenleri kontrol edin.
Büyük Veri Mimarisindeki farklı katmanları ve işlevlerini en basit şekilde öğrenmek için blogu okuyun.
Yapay Zekanın küçük ölçekli şirketler arasında nasıl popüler hale geldiğini ve onları büyütme ve rakiplerine üstünlük sağlama olasılıklarını nasıl artırdığını öğrenmek için bunu okuyun.
CAPTCHA, son birkaç yılda kullanıcıların çözmesi oldukça zorlaştı. Gelecekte spam ve bot tespitinde etkili kalabilecek mi?
Bilim hızla gelişip birçok çabamızı üstlendikçe, kendimizi açıklanamaz bir Tekilliğe maruz bırakmanın riskleri de artıyor. Okuyun, tekillik bizim için ne anlama gelebilir.
Teletıp, uzaktan sağlık hizmetleri ve gelecek nesiller üzerindeki etkisi nedir? Pandemi durumunda iyi bir yer mi değil mi? Bir görünüm bulmak için blogu okuyun!
Bilgisayar korsanlarının çok para kazandığını duymuş olabilirsiniz, ancak bu kadar parayı nasıl kazandıklarını hiç merak ettiniz mi? Hadi tartışalım.
Son zamanlarda Apple, sorunları gidermek için macOS Catalina 10.15.4'ü ek bir güncelleme yayınladı, ancak güncelleme, mac makinelerinde tuğla oluşmasına neden olan daha fazla soruna neden oluyor gibi görünüyor. Daha fazla bilgi edinmek için bu makaleyi okuyun