Sådan installeres Thelia 2.3 på Debian 9
Bruger du et andet system? Thelia er et open source-værktøj til at skabe e-business-websteder og administrere onlineindhold skrevet i PHP. Thelia kildekode i
I denne vejledning vil vi opsætte en webserver med en omvendt proxy. Det CMS, vi vil bruge, er Keystone.js, en velkendt webapplikationsramme baseret på Express.js. Den omvendte proxy, vi vil bruge, er Nginx, som er en gratis og open source omvendt proxy, samt en HTTP-server. Den database vi skal bruge er MongoDB, en NoSQL dokumentdatabase. Dette kræver, at du har et domæne med opsætning af registreringer. Hvis du ikke har det sæt, så gå videre og få det taget hånd om, og vend tilbage til denne tutorial.
Først vil vi installere Node.js, som er en Javascript-fortolker baseret på Chrome V8 Javascript-motoren.
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs
sudo apt-get install -y build-essential
Dernæst installerer vi Nginx, vores omvendte proxy.
sudo apt update
sudo apt install nginx
Dette vil opdatere pakkelisterne og installere Nginx. Når installationen er færdig, opsætter vi vores nodeprojekt.
Opret vores nodeprojekt. For at gøre det skal du blot oprette en ny mappe.
mkdir website
Derefter opretter vi vores package.json
fil. For at gøre det skal du blot køre npm init
i din terminal, udfylde felterne og svare " yes
" for at bekræfte. Når du har oprettet package.json
filen, installerer vi følgende nodemoduler.
sudo npm install -g generator-keystone
sudo npm install -g yo
Når de er færdige med at downloade, skal du køre følgende.
yo keystone
Udfyld de påkrævede felter. Det vil bede dig om project name
, template engine
, email
for kontrolpanel og så videre. Hvis du ikke ved, hvad du skal vælge, vil standardindstillingerne være fine. Når du har konfigureret din keystone-opsætning, kan vi teste for at se, om vores server kører, ved at skrive for node keystone
at starte din applikation. Som standard vil din applikation køre på localhost
, på port 3000
. Bemærk, at hvis du ikke har MongoDB installeret, vil en database ikke være tilgængelig for dig med det samme. Du kan lære, hvordan du installerer det senere i selvstudiet.
Her er det grundlæggende bibliotekslayout for Keystone.js:
/lib
- Det er her du gemmer dine brugerdefinerede biblioteker og anden kode.
/models
- Det er her du gemmer din applikations databasemodeller. KeystoneJS bruger MongoDB som databaseudbyder.
/public
- Det er her dine statiske filer (CSS, JS, billeder og så videre) bliver gemt.
/routes/api
- Det er her din applikations API-controllere bliver gemt.
/routes.views
- Applikationsvisningscontrollere vil blive gemt her.
/templates
- Det er her alle din applikations skabelonfiler vil blive gemt.
/updates
- Det er her dine migreringsscripts bliver gemt.
package.json
- Dette er din npm-konfigurationsfil, som generatoren genererede til os.
keystone.js
- Vores primære startfil, det kører vi, når vi starter hjemmesiden op.
Som tidligere nævnt er vores database, som vi vil bruge, MongoDB, som er en pålidelig NoSQL, dokumentorienteret database. Hvis du allerede har MongoDB installeret, kan du springe dette afsnit over. Hvis ikke, så er her, hvordan du installerer det på Ubuntu 16.04.
Importer den offentlige nøgle, der bruges til mongoDB-pakken.
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6
Opret listefilen, der bruges til at installere pakken.
echo "deb [ arch=amd64,arm64 ] http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list
Opdater dine pakkelister ved hjælp af apt
.
sudo apt update
Til sidst skal du installere MongoDB.
sudo apt install mongodb-org -y
Når denne installation er afsluttet, start MongoDB.
sudo service mongod start
Dette vil starte MongoDB-processen på port 27017
.
MongoDB vil blive brugt i hele applikationen, og det vil blive brugt til at gemme information, som vi bruger til vores modeller, for eksempel en User
model. Keystone bruger det som sin foretrukne database, og på nuværende tidspunkt kan du ikke bruge andre databaseleverandører.
Nu er det tid til at installere PM2 (Process Manager 2.) PM2 er en procesmanager for Node.js applikationer, i form af et npm modul. Det giver dig en nem måde at administrere dine applikationer og køre dem i baggrunden. Fordi det er i NPM, er alt, hvad vi skal gøre for at installere det, at køre følgende.
sudo npm install pm2 -g
Dette fortæller npm at installere det globalt, så vi kan bruge det overalt i vores system.
Tidligere kørte vi vores webapplikation med node keystone
. Med PM2 er det lidt anderledes. Vi kører nu vores node-app med følgende.
pm2 start keystone.js
Dette vil tilføje vores PM2-applikation til vores procesliste, og en lille boks vil blive vist, så du kan se, at den faktisk er online. Læg mærke til boksen, der er mærket id
til din proces. Hold dette tæt, da vi vil komme med mange referencer til dette senere.
For at se logfilerne for din ansøgning.
pm2 logs [id]
For eksempel, pm2 logs 0
hvis dette er din første PM2-applikation.
For at stoppe din webapplikation til enhver tid.
pm2 stop [id]
For at slette din ansøgning fuldstændigt.
pm2 delete [id]
PM2 har endda et overvågningsdashboard, hvis du vil se nogle grundlæggende statistikker for din applikation, og du kan få adgang til det med dette.
pm2 monit
Dette vil vise nogle grundlæggende oplysninger såsom RAM-brug, CPU-brug og oppetid.
En fantastisk funktion, som PM2 tilbyder, er watching
. I bund og grund er at se, når PM2 automatisk registrerer ændringer til nogen af filerne i samme mappe som din startfil, og den vil automatisk genstarte din applikation. For at aktivere den skal du blot genstarte din applikation, men sende den et urflag.
pm2 restart [id] --watch
For at deaktivere visning, efter at den er blevet aktiveret, skal du blot køre den samme kommando igen, og visning vil blive deaktiveret.
I denne tutorial vil vi lade være med at holde øje.
Sørg for, at du har Nginx installeret. Hvis det af en eller anden grund ikke er det, skal du henvise til ovenstående trin.
Juster dine firewallindstillinger. På Ubuntu ufw
er den officielle firewall. Som standard er forbindelser blokeret på port 80
. Vi skal tilføje en undtagelse for Nginx på port 80
, som vores webapplikation vil køre på.
sudo ufw allow 'Nginx HTTP'
Bekræft, at din Nginx-server kører.
systemctl status nginx
Under Active
sektionen, hvis du ser active (running)
, så er du klar. Hvis ikke, kan du prøve at genstarte tjenesten.
systemctl restart nginx
Slet standard Nginx-konfigurationsfilen.
sudo rm /etc/nginx/sites-available/default
Opret en ny, og kald den bare node
.
sudo nano /etc/nginx/sites-available/node
Indsæt følgende i filen, og erstat example.com
med dit webstedsdomæne.
listen 80;
server_name example.com;
location / {
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $http_host;
proxy_pass "http://127.0.0.1:3000";
}
}
Bemærk, at den proxy_pass
angiver den IP, vores Keystone-app kører på lokalt, som er localhost
på port 3000
.
listen 80
er den port, vi ønsker, at appen skal dirigeres til, hvilket i dette tilfælde er port 80
.
Derefter skal vi oprette et symbolsk link eller symbolsk link til en mappe kaldet sites-enabled
. Forskellen mellem sites-enabled
og sites-available
er, at sites-enabled
det faktisk er indlæst af Nginx.
sudo ln -s /etc/nginx/sites-available/node /etc/nginx/sites-enabled/node
Nu vil din konfigurationsfil sites-available
være klar til brug, og den vil blive indlæst fra sites-enabled
. For at anvende konfigurationen, så den træder i kraft, skal du blot genstarte Nginx.
sudo systemctl restart nginx
Til sidst skal du genstarte din PM2-applikation
pm2 restart [id]
Nu kan du navigere til dit domæne i en browser, og du vil se en Welcome to Keystone
skærm med et panel, hvor du kan logge ind.
Hvis du ser det, har du med succes opsat en Node.js-produktionswebserver. Hvis ikke, så har du måske gjort et trin forkert, og du vil måske gå tilbage og følge hvert trin omhyggeligt.
Du kan lære mere om Nginx ved at besøge deres hjemmeside .
Jeg håber, du nød denne tutorial, og jeg håber, at dette har hjulpet dig med at opsætte din egen webserver til produktion på din Vultr VPS.
Bruger du et andet system? Thelia er et open source-værktøj til at skabe e-business-websteder og administrere onlineindhold skrevet i PHP. Thelia kildekode i
Bruger du et andet system? Microweber er en open source træk og slip CMS og online shop. Microweber-kildekoden er hostet på GitHub. Denne guide vil vise dig
Bruger du et andet system? Microweber er en open source træk og slip CMS og online shop. Microweber-kildekoden er hostet på GitHub. Denne guide vil vise dig
Bruger du et andet system? DotCMS er et open source, enterprise-grade content management system skrevet i Java. Den indeholder næsten alle nødvendige funktioner
Bruger du et andet system? Pagekit 1.0 CMS er et smukt, modulært, udvideligt og let, gratis og open source Content Management System (CMS) med
Bruger du et andet system? BigTree CMS 4.2 er et hurtigt og let, gratis og open source, enterprise-grade content management system (CMS) med omfattende
Bruger du et andet system? Pagekit er et open source CMS skrevet i PHP. Pagekit-kildekoden er hostet på GitHub. Denne vejledning viser dig, hvordan du installerer
Bruger du et andet system? PyroCMS er et open source CMS skrevet i PHP. PyroCMS-kildekoden er hostet på GitHub. I denne guide går du godt igennem det hele
Bruger du et andet system? Subrion 4.1 CMS er et kraftfuldt og fleksibelt open source Content Management System (CMS), der bringer et intuitivt og klart indhold
Bruger du et andet system? Backdrop CMS 1.8.0 er et enkelt og fleksibelt, mobilvenligt, gratis og open source Content Management System (CMS), der giver os mulighed for
Bruger du et andet system? Introduktion Roadiz er et moderne CMS designet til at håndtere mange typer tjenester. Baseret på Symfony-komponenter og Doctrin ORM, dvs
Bruger du et andet system? Microweber er en open source træk og slip CMS og online shop. Microweber-kildekoden er hostet på GitHub. Denne guide vil vise dig
Bruger du et andet system? Grav er et open source flad-fil CMS skrevet i PHP. Grav kildekode er offentligt hostet på GitHub. Denne vejledning viser dig, hvordan t
Bruger du et andet system? Grav er et open source flad-fil CMS skrevet i PHP. Grav kildekode er offentligt hostet på GitHub. Denne vejledning viser dig, hvordan t
Bruger du et andet system? Automad er et open source filbaseret indholdsstyringssystem (CMS) og skabelonmotor skrevet i PHP. Automad-kildekoden i
Raneto er en gratis og open source vidensbase, bygget på Node.js, der er nem at konfigurere og bruge, samt nem at administrere. Kategorier og sider ar
Bruger du et andet system? Thelia er et open source-værktøj til at skabe e-business-websteder og administrere onlineindhold skrevet i PHP. Thelia kildekode i
Bruger du et andet system? Oktober 1.0 CMS er et enkelt og pålideligt, gratis og open source Content Management System (CMS) bygget på Laravel-rammeværket
Bruger du et andet system? ImpressPages CMS 5.0 er et enkelt og effektivt, gratis og open source, brugervenligt, MVC-baseret Content Management System (CMS)
Bruger du et andet system? CMS Made Simple 2.2 er et fleksibelt og udvidelsesvenligt, gratis og open source Content Management System (CMS) intelligent designet til at b.
Kunstig intelligens er ikke i fremtiden, det er her lige i nuet I denne blog Læs, hvordan kunstig intelligens-applikationer har påvirket forskellige sektorer.
Er du også et offer for DDOS-angreb og forvirret over forebyggelsesmetoderne? Læs denne artikel for at løse dine spørgsmål.
Du har måske hørt, at hackere tjener mange penge, men har du nogensinde spekuleret på, hvordan tjener de den slags penge? lad os diskutere.
Vil du se revolutionerende opfindelser fra Google, og hvordan disse opfindelser ændrede livet for ethvert menneske i dag? Læs derefter til bloggen for at se opfindelser fra Google.
Konceptet med selvkørende biler til at køre på vejene ved hjælp af kunstig intelligens er en drøm, vi har haft i et stykke tid nu. Men på trods af flere løfter er de ingen steder at se. Læs denne blog for at lære mere...
Efterhånden som videnskaben udvikler sig i et hurtigt tempo og overtager en stor del af vores indsats, stiger risikoen for at udsætte os selv for en uforklarlig Singularitet. Læs, hvad singularitet kunne betyde for os.
Opbevaringsmetoderne for dataene har været under udvikling, kan være siden fødslen af dataene. Denne blog dækker udviklingen af datalagring på basis af en infografik.
Læs bloggen for at kende forskellige lag i Big Data-arkitekturen og deres funktionaliteter på den enkleste måde.
I denne digitalt drevne verden er smarte hjemmeenheder blevet en afgørende del af livet. Her er et par fantastiske fordele ved smarte hjemmeenheder om, hvordan de gør vores liv værd at leve og enklere.
For nylig udgav Apple macOS Catalina 10.15.4 en supplerende opdatering for at løse problemer, men det ser ud til, at opdateringen forårsager flere problemer, hvilket fører til mursten af mac-maskiner. Læs denne artikel for at lære mere