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
Wiki.js , Node.js, MongoDB, Git ve Markdown üzerine kurulmuş ücretsiz ve açık kaynaklı, modern bir wiki uygulamasıdır. Wiki.js kaynak kodu genel barındırılan Github . Bu kılavuz, Node.js, MongoDB, PM2, Nginx, Git ve Acme.sh kullanarak Wiki.js'yi yeni bir FreeBSD 11 Vultr örneğine nasıl yükleyeceğinizi gösterecektir.
Wiki.js'yi çalıştırmak için gereksinimler aşağıdaki gibidir:
A
/ AAAA
Kayıtlar ayarlanmış alan adı . Bu kılavuzda wiki.example.com
örnek bir alan olarak kullanacağız .FreeBSD sürümünü kontrol edin.
uname -ro
# FreeBSD 11.2-RELEASE
FreeBSD sisteminizin güncel olduğundan emin olun.
freebsd-update fetch install
pkg update && pkg upgrade -y
Yükleme sudo
, vim
, unzip
, wget
, git
, bash
ve socat
bunlar sisteminizde mevcut değilse paketler.
pkg install -y sudo vim unzip wget git bash socat
Tercih ettiğiniz kullanıcı adıyla yeni bir kullanıcı hesabı oluşturun (kullanacağız johndoe
).
adduser
# Username: johndoe
# Full name: John Doe
# Uid (Leave empty for default): <Enter>
# Login group [johndoe]: <Enter>
# Login group is johndoe. Invite johndoe into other groups? []: wheel
# Login class [default]: <Enter>
# Shell (sh csh tcsh nologin) [sh]: bash
# Home directory [/home/johndoe]: <Enter>
# Home directory permissions (Leave empty for default): <Enter>
# Use password-based authentication? [yes]: <Enter>
# Use an empty password? (yes/no) [no]: <Enter>
# Use a random password? (yes/no) [no]: <Enter>
# Enter password: your_secure_password
# Enter password again: your_secure_password
# Lock out the account after creation? [no]: <Enter>
# OK? (yes/no): yes
# Add another user? (yes/no): no
# Goodbye!
Grup üyelerinin herhangi bir komutu yürütmesine izin vermek için visudo
komutu çalıştırın ve %wheel ALL=(ALL) ALL
satırı kaldırın wheel
.
# Uncomment by removing the hash (#) sign
%wheel ALL=(ALL) ALL
Şimdi yeni oluşturulan kullanıcınıza geçin.
su - johndoe
NOT: Kullanıcı adınızla değiştirin johndoe
.
Saat dilimini ayarlayın.
sudo tzsetup
Wiki.js, Node.js 6.11.1 veya üst sürümünü gerektirir. Bu nedenle, önce Node.js'nin uygun sürümünü yüklememiz gerekir.
Node.js ve NPM'yi yükleyin.
sudo pkg install -y node8 npm-node8
Sürümleri kontrol edin.
node -v && npm -v
# v8.12.0
# 6.4.1
Wiki.js, veritabanı motoru olarak MongoDB'yi kullanır.
MongoDB'yi yükleyin.
sudo pkg install -y mongodb36
Versiyonu kontrol et.
mongo --version | head -n 1 && mongod --version | head -n 1
# MongoDB shell version v3.6.6
# db version v3.6.6
MongoDB'yi etkinleştirin ve başlatın.
sudo sysrc mongod_enable=yes
sudo service mongod start
Wiki'nizi HTTPS ile güvence altına almak gerekli değildir, ancak site trafiğinizi güvence altına almak iyi bir uygulamadır. Let's Encrypt'ten bir SSL sertifikası almak için Acme.sh istemcisini kullanacağız. 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. Bu, başarılı bir şekilde çalışmak için çok fazla bağımlılık gerektiren diğer bazı Acme protokol istemcilerine kıyasla çok hafif hale getirir.
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 ~
acme.sh
Sürümü kontrol edin .
/etc/letsencrypt/acme.sh --version
# v2.8.0
İçin RSA ve ECDSA sertifikaları alın wiki.example.com
.
# RSA 2048
sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d wiki.example.com --ocsp-must-staple --keylength 2048
# ECDSA/ECC P-256
sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d wiki.example.com --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/wiki.example.com
/etc/letsencrypt/wiki.example.com_ecc
NOT: Alan adınızla değiştirmeyi unutmayın wiki.example.com
.
Let's Encrypt'ten sertifika aldıktan sonra, Nginx'i bunlardan yararlanacak şekilde yapılandırmamız gerekiyor.
Wiki.js gerçek bir web sunucusu olmadan çalışabilir, ancak önüne standart bir web sunucusu koymanız önemle tavsiye edilir. Bu, SSL, birden çok web sitesi, önbellekleme ve diğerleri gibi özellikleri kullanabilmenizi sağlar. Bu öğreticide Nginx kullanacağız, ancak başka herhangi bir sunucu yapacak, sadece doğru bir şekilde yapılandırmanız gerekiyor.
Nginx'i yükleyin.
sudo pkg install -y nginx
Versiyonu kontrol et.
nginx -v
# nginx version: nginx/1.14.0
Nginx'i etkinleştirin ve başlatın.
sudo sysrc nginx_enable=yes
sudo service nginx start
Wiki.js uygulaması için Nginx'i HTTPS (SSL kullanıyorsanız) ters proxy olarak yapılandırın.
sudo vim /usr/local/etc/nginx/wiki.js.conf
Aşağıdaki temel ters proxy yapılandırmasıyla çalıştırın ve doldurun.
server {
listen [::]:443 ssl http2;
listen 443 ssl http2;
listen [::]:80;
listen 80;
server_name wiki.example.com;
charset utf-8;
client_max_body_size 50M;
# RSA
ssl_certificate /etc/letsencrypt/wiki.example.com/fullchain.cer;
ssl_certificate_key /etc/letsencrypt/wiki.example.com/wiki.example.com.key;
# ECDSA
ssl_certificate /etc/letsencrypt/wiki.example.com_ecc/fullchain.cer;
ssl_certificate_key /etc/letsencrypt/wiki.example.com_ecc/wiki.example.com.key;
location / {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://127.0.0.1:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_next_upstream error timeout http_502 http_503 http_504;
}
}
Yukarıdaki yapılandırmada değiştirmeniz gereken tek şey server_name
yönerge ve proxy_pass
başka bir bağlantı noktası yapılandırmaya karar verirseniz direktiftir 3000
. Wiki.js 3000
varsayılan olarak bağlantı noktasını kullanır . Dosyayı kaydedin ve :+ W+ ile çıkınQ
Şimdi wiki.js.conf
dosyayı ana nginx.conf
dosyaya eklememiz gerekiyor.
sudo vim /usr/local/etc/nginx/nginx.conf
Aşağıdaki satırı çalıştırın ve http {}
bloğa ekleyin .
include wiki.js.conf;
Yapılandırmayı kontrol edin.
sudo nginx -t
Nginx'i yeniden yükleyin.
sudo service nginx reload
Wiki.js'nin yükleneceği boş bir belge kök klasörü oluşturun.
sudo mkdir -p /usr/local/www/wiki.example.com
Belge kök klasörüne gidin.
cd /usr/local/www/wiki.example.com
/usr/local/www/wiki.example.com
Klasörün sahipliğini kullanıcı olarak değiştirin johndoe
.
sudo chown -R johndoe:johndoe /usr/local/www/wiki.example.com
Gönderen /usr/local/www/wiki.example.com
klasör Wiki.js. indirmek ve yüklemek için aşağıdaki komutları çalıştırın
curl -sSo- https://wiki.js.org/install.sh | bash
VERSION=$(curl -L -s -S https://beta.requarks.io/api/version/stable)
curl -L -s -S https://github.com/Requarks/wiki/releases/download/v$VERSION/wiki-js.tar.gz | tar -f - -xz -C .
curl -L -s -S https://github.com/Requarks/wiki/releases/download/v$VERSION/node_modules.tar.gz | tar -f - -xz -C .
cp -n config.sample.yml config.yml
Yüklü olan Wiki.js sürümünü görüntülemek için aşağıdaki komutu çalıştırabilirsiniz.
node wiki --version
# 1.0.102
Yükleme tamamlandığında, yapılandırma sihirbazını çalıştırmanız istenir.
Yapılandırma sihirbazını çalıştırarak başlatın.
node wiki configure
Bu, http://localhost:3000
Wiki.js'yi yapılandırmak için gitmenizi bildirir. Wiki.js'nin önünde Nginx varsa http://wiki.example.com
, yerel ana bilgisayara gitmek yerine alan adınızı (örneğin ) açabileceğiniz anlamına gelir .
Web tarayıcınızı kullanarak http://wiki.example.com
ekrandaki talimatlara gidin ve izleyin. Yapılandırma sihirbazı sırasında girilen tüm ayarlar config.yml
dosyaya kaydedilir . Yapılandırma sihirbazı sizin için Wiki.js'yi otomatik olarak başlatır.
Varsayılan olarak, bir sistem yeniden başlatıldıktan sonra Wiki.js otomatik olarak başlamaz. Önyüklemede başlamasını sağlamak için PM2 işlem yöneticisini kurmamız ve kurmamız gerekiyor.
PM2'yi küresel olarak yükleyin npm
.
sudo npm install -g pm2
Versiyonu kontrol et.
pm2 -v
# 3.2.2
Henüz orada değilseniz belge kök klasörünüze gidin ve Wiki.js'yi durdurun.
cd /usr/local/www/wiki.example.com
node wiki stop
Wiki.js'yi PM2 aracılığıyla başlatın.
pm2 start server/index.js --name "Wiki.js"
PM2 tarafından yönetilen liste süreci.
pm2 list
PM2'ye çalışarak kendisini bir başlangıç hizmeti olarak yapılandırmasını söyleyin:
pm2 startup
Son olarak, şu PM2 yapılandırmasını şu komutu çalıştırarak kaydedin:
pm2 save
Wiki.js örneğiniz artık PM2'yi işlem yöneticisi olarak kullanarak arka plan işlemi olarak ç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