Cum se instalează Anchor CMS pe un VPS Fedora 26 LAMP
Folosind un sistem diferit? Anchor CMS este un motor de blog de sistem de gestionare a conținutului (CMS) super-simplu și extrem de ușor, gratuit și deschis
Hapi.js este un cadru Node.js bogat, robust și puternic proiectat pentru construirea aplicațiilor web în ecosistemul Node.js. Designul său simplu face ușor să începeți. Hapi folosește multe dintre cele mai recente caracteristici JavaScript ES6, precum promisiunile ES6. Pentru cei dintre voi care ați folosit Express înainte, Hapi vă permite să încercați ceva nou și să experimentați toate cele mai recente funcții JavaScript.
În acest tutorial, obiectivul nostru va fi să creăm o pagină web de bază Hapi.js, care este găzduită de pe Vultr VPS-ul nostru, pe Ubuntu 16.04 LTS. Pentru cei care au un domeniu pentru site-ul lor, vom folosi un proxy invers pentru a conecta domeniul nostru la site-ul nostru web. În cele din urmă, vom învăța cum să-l gestionăm cu un manager de proces. Acum că am scos asta, să începem.
Va trebui să instalăm Node.js. Pentru a face acest lucru pe Ubuntu 16.04 LTS, urmați aceste instrucțiuni.
Va trebui să adăugăm depozitul APT NodeSource, care conține cea mai recentă versiune LTS a Node.js.
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs
Descărcăm un script pe care îl vom folosi pentru a adăuga repositorul în lista surselor noastre, precum și pentru a instala Node.js din depozitul NodeSource.
Pe lângă instalarea în sine a Node.js, va trebui să instalăm și unele instrumente de construire necesare, care vor ajuta la construirea oricăror module pe care ar putea avea nevoie să le instalăm.
sudo apt-get install -y build-essential
Aceasta pur și simplu descarcă și instalează instrumentele de compilare din depozit.
Este o practică bună să desemnăm un folder pe care îl vom folosi pentru aplicația noastră, care va conține toate datele aplicației noastre, cum ar fi fișierele de configurare și scripturile de pornire. Creați un dosar, numindu-l orice doriți. De dragul acestui tutorial, presupun că l-ai numit site
.
mkdir site
După ce ați făcut folderul, acum ne putem schimba. Asigurați-vă că vă aflați în directorul pe care tocmai l-ați creat, porniți asistentul pachet NPM.
npm init
Vă va cere să introduceți câteva lucruri diferite, cum ar fi numele aplicației, fișierul de pornire, licența și așa mai departe. Majoritatea câmpurilor pe care le puteți lăsa implicite, cu excepția câmpurilor mai evidente, cum ar fi numele aplicației dvs. În final, va arăta astfel:
{
"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"
}
După ce sunteți mulțumit de rezultat, faceți clic ENTERpentru a salva fișierul.
După ce directorul dvs. a fost construit cu succes, putem acum să procedăm la instalarea Hapi.js. După cum am menționat anterior, vom folosi NPM pentru a descărca Hapi.js, precum și dependențele sale, pentru proiectul nostru. În directorul de proiecte, executați următoarele.
npm install hapi.js
Aceasta descarcă Hapi.js de la NPM și o instalează în directorul nostru de proiect. În aceeași rulare, toate dependențele pe care se bazează Hapi.js sunt descărcate și pentru comoditatea noastră.
Acum este timpul să configurați fișierul nostru de aplicații Hapi.js de bază. Acesta va conține tot codul nostru pentru aplicație. Mai departe, putem extinde codul aplicației noastre și adăuga mai multe lucruri, după cum considerăm de cuviință.
În continuare, vom crea fișierul nostru de pornire. Consultați main
secțiunea din package.json
fișierul dvs. , pentru a determina exact cum se numește fișierul. Din moment ce am folosit schema de denumire implicită, fișierul nostru va fi apelat index.js
.
nano index.js
După ce vă aflați în editorul de text nano, creați codul aplicației de bază, ca atare.
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();
Mai întâi, importăm modulul Hapi. Apoi, inițializăm constructorul de server, care conține gazda pe care vrem să rulăm serverul, precum și portul, care este 3000
pentru acest tutorial. În continuare, am configurat un router de bază, care indică faptul că, de fiecare dată când cineva vizitează site-ul, va fi primit cu un mesaj simplu. Pentru a finaliza totul, avem o funcție async, pentru a porni serverul nostru, care va fi conectat la consola pe care serverul nostru o rulează. După ce ați terminat, salvați și închideți fișierul ( CTRL+ X)
Acum că fișierul nostru principal este configurat, suntem pregătiți să începem aplicația.
node index.js
Dacă vedeți " Our server is running!
" în consolă, atunci serverul a pornit cu succes.
Deoarece Nginx este disponibil în depozitele implicite Ubuntu, instalarea este simplă. Pur și simplu actualizați listele de pachete și instalați-l.
sudo apt update
sudo apt install nginx -y
După actualizarea listelor de pachete, Nginx și dependențele sale vor fi instalate.
Pentru ca Nginx să inverseze proxy-ul aplicației noastre, va trebui să creăm un fișier de configurare. Acest fișier de configurare va conține informații despre aplicația noastră, pe care Nginx o va folosi pentru proxy-ul invers.
Ștergeți configurația implicită pe care a creat-o Nginx, deoarece o vom înlocui cu propria noastră mai târziu.
sudo rm /etc/nginx/sites-enabled/default
Creează un fișier nou în sites-available
folder. În ceea ce privește denumirea, ne putem lipi pur și simplu site
, pentru simplitate.
sudo nano /etc/nginx/sites-available/site
În fișier, lipiți următoarele, și salvați.
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;
}
}
În acest fișier, îi spunem Nginx să asculte pe port 80
. De asemenea, setăm passthrough proxy pe localhost
adresa și portul 3000
, care este același port ca aplicația noastră Hapi.
Acum puteți naviga înapoi în directorul aplicației dvs. și puteți porni site-ul. Odată ce site-ul a început, pur și simplu navigați către http://yourdomain.com
sau http://yourip
, și veți vedea textul " Hello World
".
PM2 poate fi găsit în depozitul NPM și îl puteți instala la nivel global pentru a fi accesat de oriunde, ca atare.
sudo npm install pm2 -g
-g
Pavilion la sfârșitul indică faptul că dorim să instalați modulul în folderul module la nivel mondial, ceea ce ne va permite să - l folosească în afara directorul nostru proiect. Acest lucru este utilizat pentru ca proiectul nostru să se comporte ca o aplicație de sistem normală.
După ce ați instalat PM2, navigați înapoi în directorul de proiect. Sintaxa pentru a începe aplicația noastră va fi ușor diferită acum. Așa o vom face cu PM2.
pm2 start index.js --name site
Folosim funcția de pornire PM2, care practic creează un profil pentru aplicația noastră, sub numele site
. După executarea acestei comenzi, site-ul dvs. web va începe, dar veți observa că jurnalele nu vor apărea. Asta pentru că modul în care vedem jurnalele acum este diferit.
pm2 logs site
Puteți chiar să specificați câte linii de jurnaluri doriți să vedeți, cu --lines
argumentul.
Ați configurat cu succes un server web Hapi.js, l-ați împiedicat invers cu Nginx și ați învățat cum să-l gestionați mai bine cu PM2. Cu aceste cunoștințe, vă puteți extinde în continuare pe acest tutorial și puteți face o aplicație Hapi.js foarte avansată. Pentru a afla mai multe despre posibilitățile Hapi, vizitați documentația lor oficială . Dacă doriți să aflați mai multe despre posibilitățile PM2, consultați ghidul lor de pornire rapidă .
Folosind un sistem diferit? Anchor CMS este un motor de blog de sistem de gestionare a conținutului (CMS) super-simplu și extrem de ușor, gratuit și deschis
NFS este un sistem de fișiere bazat pe rețea care permite computerelor să acceseze fișiere într-o rețea de calculatoare. Acest ghid explică modul în care puteți expune folderele peste NF
TeamTalk este un sistem de conferințe care permite utilizatorilor să aibă conversații audio / video de înaltă calitate, chat de text, transfer de fișiere și partajare ecrane. Este
Vultr oferă o caracteristică care vă permite să preinstalați cheile SSH la crearea unei noi instanțe. Acest lucru vă permite să accesați utilizatorul root al serverelor, totuși
Ranger este un manager de fișiere bazat pe linia de comandă cu legături de cheie VI. Oferă o interfață de blestem minimalistă și frumoasă, cu o vedere asupra ierarhiei de directoare
Folosind un sistem diferit? Redmine este un instrument gratuit și deschis de gestionare a proiectelor bazat pe web. Este scris în Ruby on Rails și acceptă mai multe baze de date
Introducere RethinkDB este o bază de date NoSQL care stochează date sub formă de documente JSON. Are un limbaj de interogare super intuitiv și are funcții disponibile în mod obișnuit
Folosind un sistem diferit? Brotli este o nouă metodă de compresie cu un raport de compresie mai bun decât GZIP. Codul sursă este găzduit public pe acest Githu
În anumite ocazii, este posibil ca un administrator de sistem să aibă nevoie să creeze un cont de utilizator și să restricționeze accesul acestora la gestionarea propriilor fișiere prin sFTP, dar nu b
Introducere MySQL are o caracteristică excelentă cunoscută sub numele de vizualizări. Vizualizările sunt interogări stocate. Gândiți-vă la ele ca la un alias pentru o întrebare altfel lungă. În acest ghid,
Cerințe preliminare Un server Vultr care funcționează actualizat Arch Linux (vezi acest articol.) Acces Sudo. Comenzile care trebuie rulate ca root sunt prefixate de #. Th
Permiterea autentificării root pe SSH este de obicei considerată o practică slabă de securitate în întreaga industrie tehnologică. În schimb, puteți efectua administrativ sensibil
Folosind un sistem diferit? Seafile (versiunea comunității) este o soluție gratuită și deschisă de sincronizare și partajare a fișierelor, care este similară cu ownCloud. De-a lungul spiritului
Folosind un sistem diferit? NGINX poate fi utilizat ca server HTTP / HTTPS, server proxy invers, server proxy de poștă, echilibrator de sarcină, terminator TLS sau cachin
Folosind un sistem diferit? Thelia este un instrument open source pentru crearea de site-uri web pentru e-business și gestionarea conținutului online scris în PHP. Codul sursă Thelia i
Folosind un sistem diferit? DokuWiki este un program wiki open source scris în PHP care nu necesită o bază de date. Stochează date în fișiere text. DokuWik
Acest articol vă va învăța cum să configurați o închisoare chroot pe Debian. Presupun că utilizați Debian 7.x. Dacă executați Debian 6 sau 8, acest lucru poate funcționa, bine
Introducere Un mod ușor de a configura un server VPN pe Debian este cu PiVPN. PiVPN este un instalator și un pachet pentru OpenVPN. Creează comenzi simple pentru tine
Folosind un sistem diferit? Chamilo este un sistem gratuit și deschis de management al învățării (LMS), care este utilizat pe scară largă pentru educația online și colaborarea în echipă
EasyEngine (ee) este un instrument Python care vă permite să gestionați ușor și automat site-urile Wordpress de pe Nginx. Folosind EasyEngine, nu va trebui să dați
O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1
Mulți dintre voi cunoașteți Switch care va fi lansat în martie 2017 și noile sale funcții. Pentru cei care nu știu, am pregătit o listă de funcții care fac din „Switch” un „gadget obligatoriu”.
Aștepți ca giganții tehnologiei să-și îndeplinească promisiunile? vezi ce a ramas nelivrat.
Citiți blogul pentru a cunoaște diferitele straturi din Arhitectura Big Data și funcționalitățile acestora în cel mai simplu mod.
Citiți asta pentru a afla cum devine populară inteligența artificială în rândul companiilor la scară mică și cum crește probabilitățile de a le face să crească și de a le oferi concurenților avantaje.
CAPTCHA a devenit destul de dificil de rezolvat pentru utilizatori în ultimii ani. Va fi capabil să rămână eficient în detectarea spam-ului și a botului în viitor?
Pe măsură ce Știința Evoluează într-un ritm rapid, preluând multe dintre eforturile noastre, crește și riscurile de a ne supune unei Singularități inexplicabile. Citiți, ce ar putea însemna singularitatea pentru noi.
Ce este telemedicina, îngrijirea medicală la distanță și impactul acesteia asupra generației viitoare? Este un loc bun sau nu în situația de pandemie? Citiți blogul pentru a găsi o vedere!
Poate ați auzit că hackerii câștigă mulți bani, dar v-ați întrebat vreodată cum câștigă acești bani? sa discutam.
Recent, Apple a lansat macOS Catalina 10.15.4 o actualizare suplimentară pentru a remedia problemele, dar se pare că actualizarea provoacă mai multe probleme care duc la blocarea mașinilor Mac. Citiți acest articol pentru a afla mai multe