Hur man installerar Thelia 2.3 på Debian 9
Använder du ett annat system? Thelia är ett verktyg med öppen källkod för att skapa e-handelswebbplatser och hantera onlineinnehåll skrivet i PHP. Thelia källkod i
I den här handledningen kommer vi att ställa in en webbserver med en omvänd proxy. CMS vi kommer att använda är Keystone.js, ett välkänt ramverk för webbapplikationer baserat på Express.js. Den omvända proxyn vi kommer att använda är Nginx, som är en gratis omvänd proxy med öppen källkod, samt en HTTP-server. Databasen vi kommer att använda är MongoDB, en NoSQL-dokumentdatabas. Detta kräver att du har en domän med poster inställda. Om du inte har det setet, fortsätt och ta hand om det och återvänd till den här handledningen.
Först kommer vi att installera Node.js, som är en Javascript-tolk baserad på Chrome V8 Javascript-motorn.
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
Därefter kommer vi att installera Nginx, vår omvänd proxy.
sudo apt update
sudo apt install nginx
Detta kommer att uppdatera paketlistorna och installera Nginx. När installationen är klar kommer vi att ställa in vårt nodprojekt.
Skapa vårt nodprojekt. För att göra det, skapa helt enkelt en ny mapp.
mkdir website
Sedan skapar vi vår package.json
fil. För att göra det, kör helt enkelt npm init
i din terminal, fyll i fälten och svara " yes
" för att bekräfta. När du har skapat package.json
filen kommer vi att installera följande nodmoduler.
sudo npm install -g generator-keystone
sudo npm install -g yo
När de har laddats ner, kör följande.
yo keystone
Fyll i de obligatoriska fälten. Den kommer att fråga dig efter project name
, template engine
, email
för kontrollpanelen och så vidare. Om du inte vet vad du ska välja kommer standardinställningarna att vara bra. När du har konfigurerat din keystone-inställning kan vi testa för att se om vår server körs genom att skriva för node keystone
att starta din applikation. Som standard kommer din applikation att köras på localhost
, på port 3000
. Observera att om du inte har MongoDB installerat kommer en databas inte att vara tillgänglig för dig direkt. Du kan lära dig hur du installerar det senare i handledningen.
Här är den grundläggande kataloglayouten för Keystone.js:
/lib
- Det är här du kommer att lagra dina anpassade bibliotek och annan kod.
/models
– Det är här du kommer att lagra din applikations databasmodeller. KeystoneJS använder MongoDB som databasleverantör.
/public
- Det är här dina statiska filer (CSS, JS, bilder och så vidare) kommer att lagras.
/routes/api
- Det är här din applikations API-kontroller kommer att lagras.
/routes.views
- Programvykontroller kommer att lagras här.
/templates
- Det är här alla din applikations mallfiler kommer att lagras.
/updates
- Det är här dina migreringsskript kommer att lagras.
package.json
– Det här är din npm-konfigurationsfil som generatorn genererade åt oss.
keystone.js
– Vår huvudstartfil, den kör vi när vi startar upp hemsidan.
Som nämnts tidigare är vår databas som vi kommer att använda MongoDB, som är en pålitlig NoSQL, dokumentorienterad databas. Om du redan råkar ha MongoDB installerat kan du hoppa över det här avsnittet. Om inte, så här installerar du det på Ubuntu 16.04.
Importera den publika nyckeln som används för mongoDB-paketet.
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6
Skapa listfilen som används för att installera paketet.
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
Uppdatera dina paketlistor med apt
.
sudo apt update
Slutligen, installera MongoDB.
sudo apt install mongodb-org -y
När denna installation är klar, starta MongoDB.
sudo service mongod start
Detta kommer att starta MongoDB-processen på port 27017
.
MongoDB kommer att användas i hela applikationen, och den kommer att användas för att lagra information som vi använder för våra modeller, till exempel en User
modell. Keystone använder den som sin valbara databas, och för närvarande kan du inte använda andra databasleverantörer.
Nu är det dags att installera PM2 (Process Manager 2.) PM2 är en processhanterare för Node.js-applikationer, i form av en npm-modul. Det ger dig ett enkelt sätt att hantera dina applikationer och köra dem i bakgrunden. Eftersom det är i NPM, är allt vi behöver göra för att installera det att köra följande.
sudo npm install pm2 -g
Detta säger åt npm att installera det globalt, så att vi kan använda det var som helst i vårt system.
Tidigare körde vi vår webbapplikation med node keystone
. Med PM2 är det lite annorlunda. Vi kör nu vår nodapp med följande.
pm2 start keystone.js
Detta kommer att lägga till vår PM2-applikation till vår processlista, och en liten ruta kommer att visas så att du kan se att den verkligen är online. Lägg märke till rutan märkt id
för din process. Håll detta nära, eftersom vi kommer att göra många referenser till detta senare.
För att se loggarna för din applikation.
pm2 logs [id]
Till exempel, pm2 logs 0
om detta är din första PM2-applikation.
För att stoppa din webbapplikation när som helst.
pm2 stop [id]
För att helt radera din ansökan.
pm2 delete [id]
PM2 har till och med en övervakningspanel om du vill se lite grundläggande statistik för din applikation, och du kan komma åt den med denna.
pm2 monit
Detta kommer att visa lite grundläggande information som RAM-användning, CPU-användning och drifttid.
En fantastisk funktion som PM2 erbjuder är watching
. I huvudsak är att titta när PM2 automatiskt upptäcker ändringar av någon av filerna i samma katalog som din startfil, och den kommer automatiskt att starta om din applikation. För att aktivera det, starta helt enkelt om din applikation, men skicka den en bevakningsflagga.
pm2 restart [id] --watch
För att inaktivera tittande efter att det har aktiverats, kör bara samma kommando igen, och titta kommer att inaktiveras.
I den här handledningen kommer vi att sluta titta.
Se till att du har Nginx installerat. Om det av någon anledning inte är det, referera till stegen ovan.
Justera dina brandväggsinställningar. På Ubuntu ufw
är den officiella brandväggen. Som standard är anslutningar blockerade på port 80
. Vi måste lägga till ett undantag för Nginx on port 80
, som vår webbapplikation kommer att köras på.
sudo ufw allow 'Nginx HTTP'
Kontrollera att din Nginx-server körs.
systemctl status nginx
Under Active
avsnittet, om du ser active (running)
, är du redo. Om inte kan du försöka starta om tjänsten.
systemctl restart nginx
Ta bort standard Nginx-konfigurationsfilen.
sudo rm /etc/nginx/sites-available/default
Skapa en ny och kalla den helt enkelt node
.
sudo nano /etc/nginx/sites-available/node
Klistra in följande i filen och ersätt example.com
med din webbplatsdomän.
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";
}
}
Observera att den proxy_pass
anger IP som vår Keystone-app körs på lokalt, vilket är localhost
på port 3000
.
listen 80
är den port vi vill att appen ska dirigeras till, vilket i det här fallet är port 80
.
Sedan måste vi skapa en symbolisk länk, eller symbolisk länk till en mapp som heter sites-enabled
. Skillnaden mellan sites-enabled
och sites-available
är att den sites-enabled
faktiskt laddas av Nginx.
sudo ln -s /etc/nginx/sites-available/node /etc/nginx/sites-enabled/node
Nu är din konfigurationsfil i sites-available
klar att användas och den kommer att laddas från sites-enabled
. För att tillämpa konfigurationen så att den träder i kraft, starta helt enkelt om Nginx.
sudo systemctl restart nginx
Slutligen, starta om din PM2-applikation
pm2 restart [id]
Nu kan du navigera till din domän i en webbläsare, och du kommer att se en Welcome to Keystone
skärm med en panel där du kan logga in.
Om du ser det har du framgångsrikt konfigurerat en Node.js-produktionswebbserver. Om inte, kan du ha gjort ett steg felaktigt, och du kanske vill gå tillbaka och följa varje steg noggrant.
Du kan lära dig mer om Nginx genom att besöka deras hemsida .
Jag hoppas att du gillade den här handledningen, och jag hoppas att detta har hjälpt dig att sätta upp din egen webbserver för produktion på din Vultr VPS.
Använder du ett annat system? Thelia är ett verktyg med öppen källkod för att skapa e-handelswebbplatser och hantera onlineinnehåll skrivet i PHP. Thelia källkod i
Använder du ett annat system? Microweber är en öppen källkod för dra och släpp CMS och onlinebutik. Microweber källkod finns på GitHub. Denna guide kommer att visa dig
Använder du ett annat system? Microweber är en öppen källkod för dra och släpp CMS och onlinebutik. Microweber källkod finns på GitHub. Denna guide kommer att visa dig
Använder du ett annat system? DotCMS är ett open-source, företagsklassat innehållshanteringssystem skrivet i Java. Den innehåller nästan alla funktioner som krävs
Använder du ett annat system? Pagekit 1.0 CMS är ett vackert, modulärt, utbyggbart och lätt, gratis och öppen källkod Content Management System (CMS) med
Använder du ett annat system? BigTree CMS 4.2 är ett snabbt och lätt, gratis och öppen källkod, företagsklassat innehållshanteringssystem (CMS) med omfattande
Använder du ett annat system? Pagekit är ett CMS med öppen källkod skrivet i PHP. Pagekit-källkoden finns på GitHub. Den här guiden visar hur du installerar
Använder du ett annat system? PyroCMS är ett open source CMS skrivet i PHP. PyroCMS källkod finns på GitHub. I denna guide går du väl igenom hela
Använder du ett annat system? Subrion 4.1 CMS är ett kraftfullt och flexibelt innehållshanteringssystem (CMS) med öppen källkod som ger ett intuitivt och tydligt innehåll
Använder du ett annat system? Backdrop CMS 1.8.0 är ett enkelt och flexibelt, mobilvänligt, gratis och open source Content Management System (CMS) som låter oss
Använder du ett annat system? Inledning Roadiz är ett modernt CMS designat för att hantera många typer av tjänster. Baserat på Symfony-komponenter och Doctrin ORM, dvs
Använder du ett annat system? Microweber är en öppen källkod för dra och släpp CMS och onlinebutik. Microweber källkod finns på GitHub. Denna guide kommer att visa dig
Använder du ett annat system? Grav är ett platt-fil-CMS med öppen källkod skrivet i PHP. Grav källkod är offentligt värd på GitHub. Den här guiden visar dig hur t
Använder du ett annat system? Grav är ett platt-fil-CMS med öppen källkod skrivet i PHP. Grav källkod är offentligt värd på GitHub. Den här guiden visar dig hur t
Använder du ett annat system? Automad är ett filbaserat innehållshanteringssystem (CMS) och mallmotor med öppen källkod skriven i PHP. Källkoden för Automad i
Raneto är en gratis kunskapsbas med öppen källkod, byggd på Node.js som är enkel att installera och använda, samt lätt att administrera. Kategorier och sidor ar
Använder du ett annat system? Thelia är ett verktyg med öppen källkod för att skapa e-handelswebbplatser och hantera onlineinnehåll skrivet i PHP. Thelia källkod i
Använder du ett annat system? Oktober 1.0 CMS är ett enkelt och pålitligt, gratis och öppen källkodsinnehållshanteringssystem (CMS) byggt på Laravel-ramverket
Använder du ett annat system? ImpressPages CMS 5.0 är ett enkelt och effektivt, gratis och öppen källkod, användarvänligt, MVC-baserat Content Management System (CMS)
Använder du ett annat system? CMS Made Simple 2.2 är ett flexibelt och utbyggbart, gratis och open source Content Management System (CMS) intelligent designat för att
Artificiell intelligens är inte i framtiden, det är här i nuet I den här bloggen Läs hur Artificiell intelligens-applikationer har påverkat olika sektorer.
Är du också ett offer för DDOS-attacker och förvirrad över de förebyggande metoderna? Läs den här artikeln för att lösa dina frågor.
Du kanske har hört att hackare tjänar mycket pengar, men har du någonsin undrat hur de tjänar den typen av pengar? låt oss diskutera.
Vill du se revolutionerande uppfinningar av Google och hur dessa uppfinningar förändrade livet för varje människa idag? Läs sedan till bloggen för att se uppfinningar av Google.
Konceptet med att självkörande bilar ska ut på vägarna med hjälp av artificiell intelligens är en dröm vi har ett tag nu. Men trots flera löften finns de ingenstans att se. Läs den här bloggen för att lära dig mer...
När vetenskapen utvecklas i snabb takt och tar över en hel del av våra ansträngningar, ökar också riskerna för att utsätta oss för en oförklarlig singularitet. Läs, vad singularitet kan betyda för oss.
Lagringsmetoderna för data har utvecklats kan vara sedan födelsen av data. Den här bloggen tar upp utvecklingen av datalagring på basis av en infografik.
Läs bloggen för att känna till olika lager i Big Data Architecture och deras funktionaliteter på enklaste sätt.
I denna digitala värld har smarta hemenheter blivit en avgörande del av livet. Här är några fantastiska fördelar med smarta hemenheter om hur de gör vårt liv värt att leva och enklare.
Nyligen släppte Apple macOS Catalina 10.15.4, en tilläggsuppdatering för att åtgärda problem, men det verkar som om uppdateringen orsakar fler problem som leder till att mac-datorer blir murade. Läs den här artikeln för att lära dig mer