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
NodeBB , Node.js tabanlı bir forumdur. Anlık etkileşimler ve gerçek zamanlı bildirimler için web soketlerini kullanır. NodeBB kaynak kodu genel barındırılan Github . Bu kılavuz, Node.js, veritabanı olarak MongoDB, ters proxy olarak Nginx ve SSL sertifikaları için Acme.sh kullanarak yeni bir Ubuntu 18.04 LTS Vultr örneğinde NodeBB kurulum işleminde size yol gösterecektir.
NodeBB için aşağıdaki yazılımların yüklenmesi gerekir:
A
/ AAAA
Kayıtlar ayarlanmış alan adıUbuntu sürümünü kontrol edin.
lsb_release -ds
# Ubuntu 18.04 LTS
Erişimi olan yeni bir non-root
kullanıcı hesabı oluşturun sudo
ve bu hesaba geçin.
adduser johndoe --gecos "John Doe"
usermod -aG sudo johndoe
su - johndoe
NOT : Kullanıcı adınızla değiştirin johndoe
.
Saat dilimini ayarlayın.
sudo dpkg-reconfigure tzdata
Sisteminizin güncel olduğundan emin olun.
sudo apt update && sudo apt upgrade -y
Gerekli paketleri kurun.
sudo apt install -y git build-essential apt-transport-https
NodeBB, Node.js tarafından yönlendirilir ve bu nedenle yüklenmesi gerekir. Node.js'nin geçerli LTS sürümünün yüklenmesi önerilir.
Node.js dosyasını NodeSource deposundan yükleyin.
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
sudo apt install -y nodejs
Node.js ve npm kurulumunu doğrulayın.
node -v && npm -v
# v10.15.0
# 5.6.0
MongoDB, NodeBB için varsayılan veritabanıdır.
MongoDB'yi yükleyin.
sudo apt install -y mongodb
Versiyonu kontrol et.
mongo --version | head -n 1 && mongod --version | head -n 1
# MongoDB shell version v3.6.3
# db version v3.6.3
NodeBB için bir MongoDB veritabanı ve kullanıcı oluşturun.
Önce MongoDB sunucusuna bağlanın.
mongo
Yerleşik admin
veritabanına geçin .
> use admin
Yönetici kullanıcı oluşturun.
> db.createUser( { user: "admin", pwd: "<Enter a secure password>", roles: [ { role: "readWriteAnyDatabase", db: "admin" }, { role: "userAdminAnyDatabase", db: "admin" } ] } )
NOT: Yer tutucuyu <Enter a secure password>
seçtiğiniz şifreyle değiştirin.
Adlı yeni bir veritabanı ekleyin nodebb
.
> use nodebb
Veritabanı oluşturulacak ve bağlam değiştirilecek nodebb
. Ardından nodebb
kullanıcıyı uygun ayrıcalıklarla oluşturun.
> db.createUser( { user: "nodebb", pwd: "<Enter a secure password>", roles: [ { role: "readWrite", db: "nodebb" }, { role: "clusterMonitor", db: "admin" } ] } )
NOT: Yine, yer tutucuyu <Enter a secure password>
kendi seçtiğiniz şifreyle değiştirin.
Mongo kabuğundan çıkın.
> quit()
MongoDB'yi yeniden başlatın ve daha önce oluşturulan yönetici kullanıcının bağlanabildiğini doğrulayın.
sudo systemctl restart mongodb.service
mongo -u admin -p your_password --authenticationDatabase=admin
Nginx'in en son ana sürümünü resmi Nginx deposundan yükleyin.
wget https://nginx.org/keys/nginx_signing.key
sudo apt-key add nginx_signing.key
rm nginx_signing.key
sudo -s
printf "deb https://nginx.org/packages/mainline/ubuntu/ $(lsb_release -sc) nginx\ndeb-src https://nginx.org/packages/mainline/ubuntu/ $(lsb_release -sc) nginx\n" >> /etc/apt/sources.list.d/nginx_mainline.list
exit
sudo apt update
sudo apt install -y nginx
Versiyonu kontrol et.
sudo nginx -v
# nginx version: nginx/1.15.0
Nginx'i etkinleştirin ve başlatın.
sudo systemctl enable nginx.service
sudo systemctl start nginx.service
NodeBB varsayılan olarak bağlantı noktasında çalışır 4567
. Türüne sahip önlemek için http://example.com:4567
, biz NodeBB uygulaması için bir ters proxy olarak Nginx yapılandırır. Bağlantı noktasındaki 80
veya 443
SSL kullanılıyorsa her istek bağlantı noktasına yönlendirilir 4567
.
sudo vim /etc/nginx/conf.d/nodebb.conf
Aşağıdaki temel ters proxy yapılandırmasıyla çalıştırın ve doldurun.
server {
listen [::]:80;
listen 80;
server_name forum.example.com;
root /usr/share/nginx/html;
client_max_body_size 50M;
location /.well-known/acme-challenge/ {
allow all;
}
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
proxy_hide_header X-Powered-By;
proxy_set_header X-Nginx-Proxy true;
proxy_pass http://127.0.0.1:4567;
proxy_redirect off;
# Socket.IO Support
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
Not: Yönergeyi alan adınız / ana bilgisayar adınızla güncelleyin server_name
.
Yapılandırmayı kontrol edin.
sudo nginx -t
Nginx'i yeniden yükleyin.
sudo systemctl reload nginx.service
Forumunuzu HTTPS ile güvenli hale getirmek gerekli değildir, ancak sitenizin trafiğini güvenli hale getirecektir. Acme.sh sıfır bağımlılık ile Let's Encrypt SSL sertifikaları almak için saf bir unix kabuk yazılımıdır.
Acme.sh dosyasını indirin ve yükleyin.
sudo mkdir /etc/letsencrypt
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
sudo ./acme.sh --install --home /etc/letsencrypt --accountemail [email protected]
cd ~
source ~/.bashrc
Versiyonu kontrol et.
acme.sh --version
# v2.7.9
İçin RSA ve ECDSA sertifikaları alın forum.example.com
.
# RSA 2048
sudo /etc/letsencrypt/acme.sh --issue --home /etc/letsencrypt -d forum.example.com --webroot /usr/share/nginx/html --reloadcmd "sudo systemctl reload nginx.service" --accountemail [email protected] --ocsp-must-staple --keylength 2048
# ECDSA/ECC P-256
sudo /etc/letsencrypt/acme.sh --issue --home /etc/letsencrypt -d forum.example.com --webroot /usr/share/nginx/html --reloadcmd "sudo systemctl reload nginx.service" --accountemail [email protected] --ocsp-must-staple --keylength ec-256
Yukarıdaki komutları çalıştırdıktan sonra, sertifikalarınız ve anahtarlarınız aşağıdaki dizinlerde olacaktır:
/etc/letsencrypt/forum.example.com
/etc/letsencrypt/forum.example.com_ecc
Let's Encrypt'ten sertifika aldıktan sonra, bunları kullanmak için Nginx'i yapılandırmamız gerekir.
sudo vim /etc/nginx/conf.d/nodebb.conf
Tekrar çalıştırın ve Nginx'i HTTPS ters proxy olarak yapılandırın.
server {
listen [::]:443 ssl http2;
listen 443 ssl http2;
listen [::]:80;
listen 80;
server_name forum.example.com;
root /usr/share/nginx/html;
client_max_body_size 50M;
location /.well-known/acme-challenge/ {
allow all;
}
# RSA
ssl_certificate /etc/letsencrypt/forum.example.com/fullchain.cer;
ssl_certificate_key /etc/letsencrypt/forum.example.com/forum.example.com.key;
# ECDSA
ssl_certificate /etc/letsencrypt/forum.example.com_ecc/fullchain.cer;
ssl_certificate_key /etc/letsencrypt/forum.example.com_ecc/forum.example.com.key;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://127.0.0.1:4567;
proxy_redirect off;
# Socket.IO Support
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
Yapılandırmayı kontrol edin.
sudo nginx -t
Nginx'i yeniden yükleyin.
sudo systemctl reload nginx.service
Bir belge kök dizini oluşturun.
sudo mkdir -p /var/www/nodebb
/var/www/nodebb
Dizinin sahipliğini olarak değiştirin johndoe
.
sudo chown -R johndoe:johndoe /var/www/nodebb
Belge kök klasörüne gidin.
cd /var/www/nodebb
NodeBB'nin en son sürümünü belge kök klasörüne kopyalayın.
git clone -b v1.10.x https://github.com/NodeBB/NodeBB.git .
NodeBB kurulum komutunu çalıştırın ve istendiğinde her soruyu cevaplayın.
./nodebb setup
NodeBB kurulumu tamamlandıktan sonra ./nodebb start
, NodeBB sunucunuzu manuel olarak başlatmak için çalıştırın .
./nodebb start
Bu komuttan sonra forumunuza web tarayıcınızdan erişebileceksiniz.
Aracılığıyla ./nodebb start
başlatıldığında, sistem yeniden başlatıldığında NodeBB otomatik olarak yeniden başlamaz. Bundan kaçınmak için NodeBB'yi bir sistem hizmeti olarak ayarlamamız gerekecek.
Çalışıyorsa, NodeBB'yi durdurun.
./nodebb stop
Yeni bir ayrıcalıksız nodebb
kullanıcı oluşturun.
sudo adduser nodebb
/var/www/nodebb
Dizinin sahipliğini nodebb
kullanıcı olarak değiştirin.
sudo chown -R nodebb:nodebb /var/www/nodebb
Oluşturmak nodebb.service
systemd birim yapılandırma dosyası. Bu birim dosyası, NodeBB deamonunun başlatılmasını yönetir. sudo vim /etc/systemd/system/nodebb.service
Dosyayı aşağıdaki içerikle çalıştırın ve doldurun:
[Unit]
Description=NodeBB
Documentation=https://docs.nodebb.org
After=system.slice multi-user.target mongod.service
[Service]
Type=forking
User=nodebb
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=nodebb
Environment=NODE_ENV=production
WorkingDirectory=/var/www/nodebb
PIDFile=/var/www/nodebb/pidfile
ExecStart=/usr/bin/env node loader.js
Restart=always
[Install]
WantedBy=multi-user.target
NOT: Seçtiğiniz adlara göre kullanıcı adı ve dizin yollarını ayarlayın.
nodebb.service
Yeniden başlatma sırasında etkinleştirin ve hemen başlayın nodebb.service
.
sudo systemctl enable nodebb.service
sudo systemctl start nodebb.service
nodebb.service
Durumu kontrol edin .
sudo systemctl status nodebb.service
sudo systemctl is-enabled nodebb.service
Bu kadar. NodeBB örneğiniz şimdi çalışıyor.
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