Vzpon strojev: aplikacije AI v resničnem svetu
Umetna inteligenca ni v prihodnosti, tukaj je prav v sedanjosti. V tem blogu preberite, kako so aplikacije umetne inteligence vplivale na različne sektorje.
Wiki.js je brezplačna odprtokodna sodobna wiki aplikacija, zgrajena na Node.js, MongoDB, Git in Markdown. Izvorna koda Wiki.js je javno gostovana na Githubu . Ta priročnik vam bo pokazal, kako namestiti Wiki.js na nov primerek FreeBSD 11 Vultr z uporabo Node.js, MongoDB, PM2, Nginx, Git in Acme.sh.
Zahteve za zagon Wiki.js so naslednje:
A/ AAAAnastavljenimi zapisi. V tem priročniku bomo uporabili wiki.example.comkot primer domene.Preverite različico FreeBSD.
uname -ro
# FreeBSD 11.2-RELEASE
Prepričajte se, da je vaš sistem FreeBSD posodobljen.
freebsd-update fetch install
pkg update && pkg upgrade -y
Namestite sudo, vim, unzip, wget, git, bashin socatpakete, če niso prisotni v vašem sistemu.
pkg install -y sudo vim unzip wget git bash socat
Ustvarite nov uporabniški račun s svojim želenim uporabniškim imenom (uporabili bomo 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!
Zaženite visudoukaz in razkomentirajte %wheel ALL=(ALL) ALLvrstico, da omogočite članom wheelskupine, da izvedejo kateri koli ukaz.
# Uncomment by removing the hash (#) sign
%wheel ALL=(ALL) ALL
Zdaj preklopite na novo ustvarjenega uporabnika.
su - johndoe
OPOMBA: Zamenjajte johndoez vašim uporabniškim imenom.
Nastavite časovni pas.
sudo tzsetup
Wiki.js zahteva Node.js 6.11.1 ali novejšo različico, zato bomo morali najprej namestiti ustrezno različico Node.js.
Namestite Node.js in NPM.
sudo pkg install -y node8 npm-node8
Preverite različice.
node -v && npm -v
# v8.12.0
# 6.4.1
Wiki.js uporablja MongoDB kot mehanizem baze podatkov.
Namestite MongoDB.
sudo pkg install -y mongodb36
Preverite različico.
mongo --version | head -n 1 && mongod --version | head -n 1
# MongoDB shell version v3.6.6
# db version v3.6.6
Omogočite in zaženite MongoDB.
sudo sysrc mongod_enable=yes
sudo service mongod start
Zaščita vašega wikija s HTTPS ni potrebna, vendar je dobra praksa za zaščito prometa na spletnem mestu. Za pridobitev SSL certifikata od Let's Encrypt bomo uporabili odjemalca Acme.sh. Acme.sh je čista unix programska oprema za pridobivanje SSL certifikatov iz Let's Encrypt z nič odvisnostmi. Zaradi tega je zelo lahek v primerjavi z nekaterimi drugimi odjemalci protokola Acme, ki za uspešno delovanje zahtevajo veliko odvisnosti.
Prenesite in namestite Acme.sh.
sudo mkdir /etc/letsencrypt
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
sudo ./acme.sh --install --home /etc/letsencrypt --accountemail your_email@example.com
cd ~
Preverite acme.shrazličico.
/etc/letsencrypt/acme.sh --version
# v2.8.0
Pridobite certifikate RSA in ECDSA za 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
Po zagonu zgornjih ukazov bodo vaši certifikati in ključi v naslednjih imenikih:
/etc/letsencrypt/wiki.example.com/etc/letsencrypt/wiki.example.com_eccOPOMBA: Ne pozabite zamenjati wiki.example.comz imenom vaše domene.
Po pridobitvi potrdil iz Let's Encrypt moramo konfigurirati Nginx, da jih izkoristi.
Wiki.js lahko deluje brez dejanskega spletnega strežnika, vendar je zelo priporočljivo, da pred njim postavite standardni spletni strežnik. To zagotavlja, da lahko uporabljate funkcije, kot so SSL, več spletnih mest, predpomnjenje in druge. V tej vadnici bomo uporabljali Nginx, toda kateri koli drug strežnik bo deloval, le pravilno ga morate konfigurirati.
Namestite Nginx.
sudo pkg install -y nginx
Preverite različico.
nginx -v
# nginx version: nginx/1.14.0
Omogočite in zaženite Nginx.
sudo sysrc nginx_enable=yes
sudo service nginx start
Konfigurirajte Nginx kot povratni proxy HTTPS (če uporabljate SSL) za aplikacijo Wiki.js.
Zaženite ga sudo vim /usr/local/etc/nginx/wiki.js.confin ga napolnite s spodnjo osnovno konfiguracijo povratnega proxyja.
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;
}
}
Edina stvar, ki jo morate spremeniti v zgornji konfiguraciji, je server_namedirektiva in morda proxy_passdirektiva, če se odločite konfigurirati nekatera vrata, ki niso 3000. Wiki.js 3000privzeto uporablja vrata . Shranite datoteko in zapustite s :+ W+Q
Zdaj moramo wiki.js.confdatoteko vključiti v glavno nginx.confdatoteko.
Zaženite sudo vim /usr/local/etc/nginx/nginx.confin dodajte naslednjo vrstico v http {}blok.
include wiki.js.conf;
Preverite konfiguracijo.
sudo nginx -t
Ponovno naložite Nginx.
sudo service nginx reload
Ustvarite prazno korensko mapo dokumenta, kamor bo nameščen Wiki.js.
sudo mkdir -p /usr/local/www/wiki.example.com
Pomaknite se do korenske mape dokumenta.
cd /usr/local/www/wiki.example.com
Spremeni lastništvo /usr/local/www/wiki.example.commape na uporabnika johndoe.
sudo chown -R johndoe:johndoe /usr/local/www/wiki.example.com
V /usr/local/www/wiki.example.commapi zaženite naslednje ukaze za prenos in namestitev Wiki.js.
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
Za ogled trenutno nameščene različice Wiki.js lahko zaženete naslednji ukaz.
node wiki --version
# 1.0.102
Ko je namestitev končana, boste pozvani, da zaženete čarovnika za konfiguracijo.
Zaženite čarovnika za konfiguracijo tako, da zaženete.
node wiki configure
To vas bo obvestilo, da se pomaknete http://localhost:3000na konfiguracijo Wiki.js. Če imate Nginx pred Wiki.js, potem to pomeni, da lahko odprete ime svoje domene (npr. http://wiki.example.com) namesto da greste na localhost.
S spletnim brskalnikom se pomaknite do http://wiki.example.comin sledite navodilom na zaslonu. Vse nastavitve, vnesene med čarovnikom za konfiguracijo, se shranijo v config.ymldatoteko. Čarovnik za konfiguracijo bo samodejno zagnal Wiki.js namesto vas.
Wiki.js se privzeto ne zažene samodejno po ponovnem zagonu sistema. Da bi se zagnal ob zagonu, moramo namestiti in nastaviti upravitelja procesov PM2.
Namestite PM2 globalno prek npm.
sudo npm install -g pm2
Preverite različico.
pm2 -v
# 3.2.2
Pomaknite se do korenske mape dokumenta, če še niste tam, in ustavite Wiki.js.
cd /usr/local/www/wiki.example.com
node wiki stop
Zaženite Wiki.js prek PM2.
pm2 start server/index.js --name "Wiki.js"
Postopek seznama, ki ga upravlja PM2.
pm2 list
Povejte PM2, naj se konfigurira kot zagonska storitev tako, da zažene:
pm2 startup
Končno shranite trenutno konfiguracijo PM2 tako, da zaženete ukaz:
pm2 save
Vaš primerek Wiki.js zdaj deluje kot proces v ozadju, pri čemer uporablja PM2 kot upravitelja procesov.
Umetna inteligenca ni v prihodnosti, tukaj je prav v sedanjosti. V tem blogu preberite, kako so aplikacije umetne inteligence vplivale na različne sektorje.
Ste tudi vi žrtev DDOS napadov in ste zmedeni glede načinov preprečevanja? Preberite ta članek, če želite rešiti svoja vprašanja.
Morda ste že slišali, da hekerji zaslužijo veliko denarja, a ste se kdaj vprašali, kako zaslužijo takšen denar? razpravljajmo.
Ali želite videti revolucionarne izume Googla in kako so ti izumi danes spremenili življenje vsakega človeka? Nato preberite v blogu in si oglejte Googlove izume.
Koncept samovozečih avtomobilov, ki zapeljejo na ceste s pomočjo umetne inteligence, so sanje, ki jih imamo že nekaj časa. A kljub številnim obljubam jih ni nikjer. Preberite ta blog, če želite izvedeti več…
Ker se znanost hitro razvija in prevzame veliko naših prizadevanj, se povečuje tudi tveganje, da se podvržemo nerazložljivi singularnosti. Preberite, kaj bi za nas lahko pomenila singularnost.
Preberite blog, če želite na najpreprostejši način spoznati različne plasti v arhitekturi velikih podatkov in njihove funkcionalnosti.
Metode shranjevanja podatkov so se lahko razvijale od rojstva podatkov. Ta blog pokriva razvoj shranjevanja podatkov na podlagi infografike.
V tem digitalno vodenem svetu so pametne naprave za dom postale ključni del življenja. Tukaj je nekaj neverjetnih prednosti pametnih naprav za dom o tem, kako naredijo naše življenje vredno življenja in poenostavijo.
Pred kratkim je Apple izdal macOS Catalina 10.15.4 dopolnilno posodobitev za odpravo težav, vendar se zdi, da posodobitev povzroča več težav, ki vodijo do opečenja računalnikov Mac. Preberite ta članek, če želite izvedeti več