Hvordan installere Thelia 2.3 på Debian 9
Bruker du et annet system? Thelia er et åpen kildekodeverktøy for å lage e-business-nettsteder og administrere nettinnhold skrevet i PHP. Thelia kildekode i
I denne opplæringen skal vi sette opp en webserver med en omvendt proxy. CMS vi skal bruke er Keystone.js, et velkjent nettapplikasjonsrammeverk basert på Express.js. Den omvendte proxyen vi skal bruke er Nginx, som er en gratis og åpen kildekode omvendt proxy, samt en HTTP-server. Databasen vi skal bruke er MongoDB, en NoSQL dokumentdatabase. Dette krever at du har et domene med oppføringer satt opp. Hvis du ikke har det settet, så fortsett og ta vare på det, og kom tilbake til denne opplæringen.
Først skal vi installere Node.js, som er en Javascript-tolk basert 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
Deretter vil vi installere Nginx, vår omvendte proxy.
sudo apt update
sudo apt install nginx
Dette vil oppdatere pakkelistene og installere Nginx. Når installasjonen er ferdig, vil vi sette opp nodeprosjektet vårt.
Lag vårt nodeprosjekt. For å gjøre det, bare opprette en ny mappe.
mkdir website
Deretter lager vi package.json
filen vår . For å gjøre det, kjør npm init
i terminalen din, fyll ut feltene og svar " yes
" for å bekrefte. Når du har opprettet package.json
filen, vil vi installere følgende nodemoduler.
sudo npm install -g generator-keystone
sudo npm install -g yo
Når de er ferdig nedlastet, kjør følgende.
yo keystone
Fyll ut de obligatoriske feltene. Den vil be deg om project name
, template engine
, email
for kontrollpanel og så videre. Hvis du ikke vet hva du skal velge, vil standardinnstillingene være fine. Etter at du har konfigurert keystone-oppsettet, kan vi teste for å se om serveren vår kjører ved å skrive for node keystone
å starte applikasjonen. Som standard vil applikasjonen din kjøre på localhost
, på port 3000
. Merk at hvis du ikke har MongoDB installert, vil ikke en database være tilgjengelig for deg med en gang. Du kan lære hvordan du installerer det senere i veiledningen.
Her er det grunnleggende katalogoppsettet for Keystone.js:
/lib
- Det er her du vil lagre dine egendefinerte biblioteker og annen kode.
/models
- Det er her du vil lagre applikasjonens databasemodeller. KeystoneJS bruker MongoDB som databaseleverandør.
/public
- Det er her dine statiske filer (CSS, JS, bilder og så videre) vil bli lagret.
/routes/api
- Det er her applikasjonens API-kontrollere vil bli lagret.
/routes.views
- Applikasjonsvisningskontrollere vil bli lagret her.
/templates
- Det er her alle applikasjonens malfiler vil bli lagret.
/updates
- Det er her migreringsskriptene dine vil bli lagret.
package.json
– Dette er npm-konfigurasjonsfilen din som generatoren genererte for oss.
keystone.js
– Vår hovedstartfil, denne kjører vi når vi starter opp nettsiden.
Som nevnt tidligere, er databasen vår som vi skal bruke MongoDB, som er en pålitelig NoSQL, dokumentorientert database. Hvis du allerede har MongoDB installert, kan du hoppe over denne delen. Hvis ikke, så her er hvordan du installerer det på Ubuntu 16.04.
Importer den offentlige nøkkelen som brukes for mongoDB-pakken.
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6
Opprett listefilen som brukes til å 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
Oppdater pakkelistene dine med apt
.
sudo apt update
Til slutt, installer MongoDB.
sudo apt install mongodb-org -y
Når denne installasjonen er fullført, start MongoDB.
sudo service mongod start
Dette vil starte MongoDB-prosessen på port 27017
.
MongoDB vil bli brukt i hele applikasjonen, og den vil bli brukt til å lagre informasjon som vi bruker for våre modeller, for eksempel en User
modell. Keystone bruker den som den valgte databasen, og på dette tidspunktet kan du ikke bruke andre databaseleverandører.
Nå er det på tide å installere PM2 (Process Manager 2.) PM2 er en prosessbehandler for Node.js-applikasjoner, i form av en npm-modul. Det gir deg en enkel måte å administrere applikasjonene dine på og kjøre dem i bakgrunnen. Fordi det er i NPM, er alt vi trenger å gjøre for å installere det å kjøre følgende.
sudo npm install pm2 -g
Dette forteller npm å installere det globalt, slik at vi kan bruke det hvor som helst i systemet vårt.
Tidligere kjørte vi nettapplikasjonen vår med node keystone
. Med PM2 er det litt annerledes. Vi kjører nå nodeappen vår med følgende.
pm2 start keystone.js
Dette vil legge til PM2-applikasjonen vår til prosesslisten vår, og en liten boks vil vises slik at du kan se at den faktisk er online. Legg merke til boksen som er merket id
for prosessen din. Hold dette nært, siden vi kommer til å gjøre mange referanser til dette senere.
For å se loggene for applikasjonen din.
pm2 logs [id]
For eksempel pm2 logs 0
hvis dette er din første PM2-applikasjon.
For å stoppe nettapplikasjonen din når som helst.
pm2 stop [id]
For å fullstendig slette applikasjonen din.
pm2 delete [id]
PM2 har til og med et overvåkingsdashbord hvis du vil se noen grunnleggende statistikker for applikasjonen din, og du kan få tilgang til den med dette.
pm2 monit
Dette vil vise litt grunnleggende informasjon som RAM-bruk, CPU-bruk og oppetid.
En flott funksjon som PM2 tilbyr er watching
. I hovedsak er å se når PM2 automatisk oppdager endringer i noen av filene i samme katalog som startfilen din, og den vil automatisk starte programmet på nytt. For å aktivere det, start ganske enkelt applikasjonen på nytt, men send den et klokkeflagg.
pm2 restart [id] --watch
For å deaktivere visning etter at den har blitt aktivert, kjør den samme kommandoen på nytt, og visning vil bli deaktivert.
I denne opplæringen slutter vi å se på.
Sørg for at du har Nginx installert. Hvis det av en eller annen grunn ikke er det, referer til trinnene ovenfor.
Juster brannmurinnstillingene. På Ubuntu ufw
er den offisielle brannmuren. Som standard er tilkoblinger blokkert på port 80
. Vi må legge til et unntak for Nginx på port 80
, som webapplikasjonen vår skal kjøre på.
sudo ufw allow 'Nginx HTTP'
Bekreft at Nginx-serveren din kjører.
systemctl status nginx
Under Active
delen, hvis du ser active (running)
, er du klar. Hvis ikke, kan du prøve å starte tjenesten på nytt.
systemctl restart nginx
Slett standard Nginx-konfigurasjonsfilen.
sudo rm /etc/nginx/sites-available/default
Opprett en ny, og bare kall den node
.
sudo nano /etc/nginx/sites-available/node
Lim inn følgende i filen, og erstatt example.com
med nettstedets domene.
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";
}
}
Merk at den proxy_pass
angir IP-en vår Keystone-appen kjører på lokalt, som er localhost
på port 3000
.
listen 80
er porten vi vil at appen skal dirigeres til, som i dette tilfellet er port 80
.
Deretter må vi lage en symbolkobling, eller symbolsk lenke til en mappe kalt sites-enabled
. Forskjellen mellom sites-enabled
og sites-available
er at sites-enabled
det faktisk lastes inn av Nginx.
sudo ln -s /etc/nginx/sites-available/node /etc/nginx/sites-enabled/node
Nå vil konfigurasjonsfilen din sites-available
være klar til bruk, og den vil bli lastet fra sites-enabled
. For å bruke konfigurasjonen slik at den trer i kraft, start Nginx på nytt.
sudo systemctl restart nginx
Til slutt starter du PM2-applikasjonen på nytt
pm2 restart [id]
Nå kan du navigere til domenet ditt i en nettleser, og du vil se en Welcome to Keystone
skjerm med et panel du kan logge på.
Hvis du ser det, har du satt opp en Node.js-produksjonswebserver. Hvis ikke, kan det hende du har gjort et trinn feil, og det kan være lurt å gå tilbake og følge hvert trinn nøye.
Du kan lære mer om Nginx ved å besøke nettsiden deres .
Jeg håper du likte denne opplæringen, og jeg håper dette har hjulpet deg med å sette opp din egen webserver for produksjon på din Vultr VPS.
Bruker du et annet system? Thelia er et åpen kildekodeverktøy for å lage e-business-nettsteder og administrere nettinnhold skrevet i PHP. Thelia kildekode i
Bruker du et annet system? Microweber er en åpen kildekode dra og slipp CMS og nettbutikk. Microweber-kildekoden er vert på GitHub. Denne guiden vil vise deg
Bruker du et annet system? Microweber er en åpen kildekode dra og slipp CMS og nettbutikk. Microweber-kildekoden er vert på GitHub. Denne guiden vil vise deg
Bruker du et annet system? DotCMS er et åpen kildekode, enterprise-grade innholdsstyringssystem skrevet i Java. Den inneholder nesten alle nødvendige funksjoner
Bruker du et annet system? Pagekit 1.0 CMS er et vakkert, modulært, utvidbart og lett, gratis og åpen kildekode Content Management System (CMS) med
Bruker du et annet system? BigTree CMS 4.2 er et raskt og lett, gratis og åpen kildekode, enterprise-grade content management system (CMS) med omfattende
Bruker du et annet system? Pagekit er et åpen kildekode CMS skrevet i PHP. Pagekit-kildekoden er vert på GitHub. Denne veiledningen viser deg hvordan du installerer
Bruker du et annet system? PyroCMS er et åpen kildekode CMS skrevet i PHP. PyroCMS-kildekoden er vert på GitHub. I denne guiden går du godt gjennom hele
Bruker du et annet system? Subrion 4.1 CMS er et kraftig og fleksibelt innholdsstyringssystem (CMS) med åpen kildekode som gir et intuitivt og tydelig innhold
Bruker du et annet system? Backdrop CMS 1.8.0 er et enkelt og fleksibelt, mobilvennlig, gratis og åpen kildekode Content Management System (CMS) som lar oss
Bruker du et annet system? Introduksjon Roadiz er et moderne CMS designet for å håndtere mange typer tjenester. Basert på Symfony-komponenter og Doctrine ORM, dvs
Bruker du et annet system? Microweber er en åpen kildekode dra og slipp CMS og nettbutikk. Microweber-kildekoden er vert på GitHub. Denne guiden vil vise deg
Bruker du et annet system? Grav er et åpen kildekode flat-fil CMS skrevet i PHP. Grav kildekode er offentlig vert på GitHub. Denne guiden viser deg hvordan t
Bruker du et annet system? Grav er et åpen kildekode flat-fil CMS skrevet i PHP. Grav kildekode er offentlig vert på GitHub. Denne guiden viser deg hvordan t
Bruker du et annet system? Automad er et åpen kildekode-filbasert innholdsstyringssystem (CMS) og malmotor skrevet i PHP. Automad-kildekoden i
Raneto er en gratis og åpen kildekode kunnskapsbase, bygget på Node.js som er enkel å sette opp og bruke, samt enkel å administrere. Kategorier og sider ar
Bruker du et annet system? Thelia er et åpen kildekodeverktøy for å lage e-business-nettsteder og administrere nettinnhold skrevet i PHP. Thelia kildekode i
Bruker du et annet system? Oktober 1.0 CMS er et enkelt og pålitelig, gratis og åpen kildekode Content Management System (CMS) bygget på Laravel-rammeverket
Bruker du et annet system? ImpressPages CMS 5.0 er et enkelt og effektivt, gratis og åpen kildekode, brukervennlig, MVC-basert Content Management System (CMS)
Bruker du et annet system? CMS Made Simple 2.2 er et fleksibelt og utvidbart, gratis og åpen kildekode Content Management System (CMS) intelligent designet for å
Kunstig intelligens er ikke i fremtiden, det er her akkurat i nåtiden I denne bloggen Les hvordan kunstig intelligens-applikasjoner har påvirket ulike sektorer.
Er du også et offer for DDOS-angrep og forvirret over forebyggingsmetodene? Les denne artikkelen for å løse spørsmålene dine.
Du har kanskje hørt at hackere tjener mye penger, men har du noen gang lurt på hvordan tjener de den slags penger? la oss diskutere.
Vil du se revolusjonerende oppfinnelser fra Google og hvordan disse oppfinnelsene forandret livet til alle mennesker i dag? Les deretter til bloggen for å se oppfinnelser fra Google.
Konseptet med selvkjørende biler som skal ut på veiene ved hjelp av kunstig intelligens er en drøm vi har hatt en stund nå. Men til tross for flere løfter, er de ingen steder å se. Les denne bloggen for å lære mer...
Ettersom vitenskapen utvikler seg raskt og tar over mye av innsatsen vår, øker også risikoen for å utsette oss for en uforklarlig singularitet. Les hva singularitet kan bety for oss.
Lagringsmetodene for dataene har vært i utvikling kan være siden fødselen av dataene. Denne bloggen dekker utviklingen av datalagring på grunnlag av en infografikk.
Les bloggen for å kjenne ulike lag i Big Data Architecture og deres funksjoner på den enkleste måten.
I denne digitaldrevne verden har smarthusenheter blitt en avgjørende del av livet. Her er noen fantastiske fordeler med smarthusenheter om hvordan de gjør livet vårt verdt å leve og enklere.
Nylig lanserte Apple macOS Catalina 10.15.4 en tilleggsoppdatering for å fikse problemer, men det ser ut til at oppdateringen forårsaker flere problemer som fører til muring av mac-maskiner. Les denne artikkelen for å lære mer