Kako namestiti Thelia 2.3 na Debian 9
Uporaba drugega sistema? Thelia je odprtokodno orodje za ustvarjanje spletnih strani e-poslovanja in upravljanje spletnih vsebin, napisanih v PHP. Izvorna koda Thelia i
V tej vadnici bomo postavili spletni strežnik z povratnim proxyjem. CMS, ki ga bomo uporabljali, je Keystone.js, dobro znan okvir spletne aplikacije, ki temelji na Express.js. Povratni proxy, ki ga bomo uporabljali, je Nginx, ki je brezplačen in odprtokoden povratni proxy ter strežnik HTTP. Baza podatkov, ki jo bomo uporabljali, je MongoDB, podatkovna baza dokumentov NoSQL. To bo zahtevalo, da imate nastavljeno domeno z zapisi. Če tega kompleta nimate, potem poskrbite za to in se vrnite k tej vadnici.
Najprej bomo namestili Node.js, ki je tolmač Javascript, ki temelji na motorju Chrome V8 Javascript.
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
Nato bomo namestili Nginx, naš povratni proxy.
sudo apt update
sudo apt install nginx
To bo posodobilo sezname paketov in namestilo Nginx. Ko je namestitev končana, bomo nastavili naš projekt vozlišča.
Ustvarite naš projekt vozlišča. Če želite to narediti, preprosto ustvarite novo mapo.
mkdir website
Nato bomo ustvarili našo package.json
datoteko. Če želite to narediti, preprosto zaženite npm init
svoj terminal, izpolnite polja in odgovorite z » yes
« za potrditev. Ko ustvarite package.json
datoteko, bomo namestili naslednje module vozlišča.
sudo npm install -g generator-keystone
sudo npm install -g yo
Ko so končani s prenosom, zaženite naslednje.
yo keystone
Izpolnite zahtevana polja. Prosil vas bo za project name
, template engine
, email
za nadzorno ploščo itd. Če ne veste, kaj izbrati, bodo privzete nastavitve v redu. Ko konfigurirate nastavitev keystone, lahko preverimo, ali naš strežnik deluje, tako da vnesete node keystone
za zagon aplikacije. Privzeto se bo vaša aplikacija izvajala na localhost
, na vratih 3000
. Upoštevajte, da če nimate nameščenega MongoDB, vam baza podatkov ne bo na voljo takoj. Kako ga namestiti, se lahko naučite pozneje v vadnici.
Tu je osnovna postavitev imenika za Keystone.js:
/lib
- Tu boste shranili svoje knjižnice po meri in drugo kodo.
/models
- Tu boste shranili modele baze podatkov vaše aplikacije. KeystoneJS uporablja MongoDB kot ponudnika baze podatkov.
/public
- Tukaj bodo shranjene vaše statične datoteke (CSS, JS, slike itd.).
/routes/api
- Tu bodo shranjeni krmilniki API vaše aplikacije.
/routes.views
- Tukaj bodo shranjeni krmilniki pogleda aplikacij.
/templates
- Tu bodo shranjene vse datoteke predlog vaše aplikacije.
/updates
- Tukaj bodo shranjeni vaši migracijski skripti.
package.json
- To je vaša konfiguracijska datoteka npm, ki jo je generator ustvaril za nas.
keystone.js
- Naša glavna začetna datoteka, to zaženemo, ko zaženemo spletno mesto.
Kot smo že omenili, je naša baza podatkov, ki jo bomo uporabljali, MongoDB, ki je zanesljiva NoSQL, dokumentno usmerjena baza podatkov. Če že imate nameščen MongoDB, lahko ta razdelek preskočite. Če ne, potem je tukaj opisano, kako ga namestiti v Ubuntu 16.04.
Uvozite javni ključ, uporabljen za paket mongoDB.
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6
Ustvarite datoteko s seznamom, ki se uporablja za namestitev paketa.
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
Posodobite svoje sezname paketov z uporabo apt
.
sudo apt update
Končno namestite MongoDB.
sudo apt install mongodb-org -y
Ko je namestitev končana, zaženite MongoDB.
sudo service mongod start
To bo začelo postopek MongoDB na vratih 27017
.
MongoDB bo uporabljen v celotni aplikaciji in bo uporabljen za shranjevanje informacij, ki jih uporabljamo za naše modele, na primer User
model. Keystone ga uporablja kot svojo izbrano bazo podatkov in trenutno ne morete uporabljati drugih ponudnikov baz podatkov.
Zdaj je čas za namestitev PM2 (Process Manager 2.) PM2 je upravljalnik procesov za aplikacije Node.js, v obliki modula npm. Zagotavlja enostaven način za upravljanje aplikacij in njihovo izvajanje v ozadju. Ker je v NPM, vse, kar moramo storiti, da ga namestimo, je zagnati naslednje.
sudo npm install pm2 -g
To pove npm, naj ga namesti globalno, tako da ga lahko uporabljamo kjer koli v našem sistemu.
Prej smo zagnali našo spletno aplikacijo z node keystone
. Pri PM2 je malo drugače. Zdaj zaženemo našo aplikacijo vozlišča z naslednjim.
pm2 start keystone.js
To bo dodalo našo aplikacijo PM2 na naš seznam procesov in prikazalo se bo majhno polje, tako da boste lahko videli, da je res na spletu. Upoštevajte polje, označeno id
za vaš postopek. Naj bo to blizu, saj se bomo pozneje veliko omenjali.
Če si želite ogledati dnevnike za vašo aplikacijo.
pm2 logs [id]
Na primer, pm2 logs 0
če je to vaša prva aplikacija PM2.
Če želite kadar koli ustaviti svojo spletno aplikacijo.
pm2 stop [id]
Za popolno brisanje aplikacije.
pm2 delete [id]
PM2 ima celo nadzorno ploščo za spremljanje, če si želite ogledati nekaj osnovnih statističnih podatkov za svojo aplikacijo in s tem lahko dostopate do nje.
pm2 monit
To bo prikazalo nekaj osnovnih informacij, kot so uporaba RAM-a, poraba CPU-ja in čas delovanja.
Odlična lastnost, ki jo ponuja PM2, je watching
. V bistvu je opazovanje, ko PM2 samodejno zazna spremembe v kateri koli datoteki v istem imeniku kot vaša začetna datoteka, in samodejno znova zažene vašo aplikacijo. Če ga želite omogočiti, preprosto znova zaženite aplikacijo, vendar ji podajte zastavico za uro.
pm2 restart [id] --watch
Če želite onemogočiti gledanje, potem ko je bilo omogočeno, preprosto znova zaženite isti ukaz in gledanje bo onemogočeno.
V tej vadnici bomo pustili opazovanje.
Prepričajte se, da imate nameščen Nginx. Če iz nekega razloga ni, glejte zgornje korake.
Prilagodite nastavitve požarnega zidu. V Ubuntuju ufw
je uradni požarni zid. Privzeto so povezave blokirane na vratih 80
. Dodati moramo izjemo za Nginx na vratih 80
, na katerih se bo izvajala naša spletna aplikacija.
sudo ufw allow 'Nginx HTTP'
Preverite, ali vaš strežnik Nginx deluje.
systemctl status nginx
Če v Active
razdelku vidite active (running)
, potem ste pripravljeni. Če ne, lahko poskusite znova zagnati storitev.
systemctl restart nginx
Izbrišite privzeto konfiguracijsko datoteko Nginx.
sudo rm /etc/nginx/sites-available/default
Ustvarite novega in ga preprosto pokličite node
.
sudo nano /etc/nginx/sites-available/node
V datoteko prilepite naslednje in zamenjajte example.com
z domeno vašega spletnega mesta.
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";
}
}
Upoštevajte, da proxy_pass
označuje IP, na katerem se naša aplikacija Keystone izvaja lokalno, kar je localhost
na vratih 3000
.
listen 80
je vrata, na katera želimo, da je aplikacija usmerjena, kar je v tem primeru port 80
.
Nato moramo ustvariti simbolno povezavo ali simbolno povezavo do mape, imenovane sites-enabled
. Razlika med sites-enabled
in sites-available
je v tem, da sites-enabled
ga dejansko naloži Nginx.
sudo ln -s /etc/nginx/sites-available/node /etc/nginx/sites-enabled/node
Zdaj bo vaša konfiguracijska datoteka sites-available
pripravljena za uporabo in bo naložena iz sites-enabled
. Če želite konfiguracijo uporabiti tako, da začne veljati, preprosto znova zaženite Nginx.
sudo systemctl restart nginx
Končno znova zaženite aplikacijo PM2
pm2 restart [id]
Zdaj se lahko v brskalniku pomaknete do svoje domene in videli boste Welcome to Keystone
zaslon s ploščo, na katero se lahko prijavite.
Če ga vidite, ste uspešno nastavili produkcijski spletni strežnik Node.js. Če ne, potem ste morda naredili korak napačno in se boste morda želeli vrniti in natančno slediti vsakemu koraku.
Več o Nginxu lahko izveste tako, da obiščete njihovo spletno mesto .
Upam, da vam je bila ta vadnica všeč in upam, da vam je to pomagalo vzpostaviti lasten spletni strežnik za produkcijo na vašem Vultr VPS.
Uporaba drugega sistema? Thelia je odprtokodno orodje za ustvarjanje spletnih strani e-poslovanja in upravljanje spletnih vsebin, napisanih v PHP. Izvorna koda Thelia i
Uporaba drugega sistema? Microweber je odprtokodna povleci in spusti CMS in spletna trgovina. Izvorna koda Microweber gostuje na GitHubu. Ta vodnik vam bo pokazal
Uporaba drugega sistema? Microweber je odprtokodna povleci in spusti CMS in spletna trgovina. Izvorna koda Microweber gostuje na GitHubu. Ta vodnik vam bo pokazal
Uporaba drugega sistema? DotCMS je odprtokodni sistem za upravljanje vsebin za podjetja, napisan v Javi. Vsebuje skoraj vse zahtevane funkcije t
Uporaba drugega sistema? Pagekit 1.0 CMS je lep, modularen, razširljiv in lahek, brezplačen in odprtokoden sistem za upravljanje vsebine (CMS) z
Uporaba drugega sistema? BigTree CMS 4.2 je hiter in lahek, brezplačen in odprtokoden sistem za upravljanje vsebin podjetja (CMS) z obsežnim
Uporaba drugega sistema? Pagekit je odprtokodni CMS, napisan v PHP. Izvorna koda Pagekit gostuje na GitHubu. Ta priročnik vam bo pokazal, kako namestiti
Uporaba drugega sistema? PyroCMS je odprtokodni CMS, napisan v PHP. Izvorna koda PyroCMS gostuje na GitHubu. V tem vodniku se dobro sprehodite po celem
Uporaba drugega sistema? Subrion 4.1 CMS je zmogljiv in prilagodljiv odprtokodni sistem za upravljanje vsebine (CMS), ki prinaša intuitivno in jasno vsebino.
Uporaba drugega sistema? Backdrop CMS 1.8.0 je preprost in prilagodljiv, mobilnim prijazen, brezplačen in odprtokoden sistem za upravljanje vsebine (CMS), ki nam omogoča
Uporaba drugega sistema? Uvod Roadiz je sodoben CMS, zasnovan za obdelavo številnih vrst storitev. Na podlagi komponent Symfony in Doctrine ORM, tj
Uporaba drugega sistema? Microweber je odprtokodna povleci in spusti CMS in spletna trgovina. Izvorna koda Microweber gostuje na GitHubu. Ta vodnik vam bo pokazal
Uporaba drugega sistema? Grav je odprtokodni CMS s ploščatimi datotekami, napisan v PHP. Izvorna koda Grav je javno gostovana na GitHubu. Ta vodnik vam bo pokazal, kako t
Uporaba drugega sistema? Grav je odprtokodni CMS s ploščatimi datotekami, napisan v PHP. Izvorna koda Grav je javno gostovana na GitHubu. Ta vodnik vam bo pokazal, kako t
Uporaba drugega sistema? Automad je odprtokodni sistem za upravljanje vsebin (CMS), ki temelji na datotekah, in mehanizem za predloge, napisan v PHP. Izvorna koda Automad i
Raneto je brezplačna in odprtokodna baza znanja, zgrajena na Node.js, ki je enostavna za nastavitev in uporabo ter enostavna za upravljanje. Kategorije in strani ar
Uporaba drugega sistema? Thelia je odprtokodno orodje za ustvarjanje spletnih strani e-poslovanja in upravljanje spletnih vsebin, napisanih v PHP. Izvorna koda Thelia i
Uporaba drugega sistema? October 1.0 CMS je preprost in zanesljiv, brezplačen in odprtokoden sistem za upravljanje vsebine (CMS), zgrajen na ogrodju Laravel
Uporaba drugega sistema? ImpressPages CMS 5.0 je preprost in učinkovit, brezplačen in odprtokoden, uporabniku prijazen sistem za upravljanje vsebine (CMS), ki temelji na MVC.
Uporaba drugega sistema? CMS Made Simple 2.2 je prilagodljiv in razširljiv, brezplačen in odprtokoden sistem za upravljanje vsebine (CMS), ki je inteligentno zasnovan za
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.
Metode shranjevanja podatkov so se lahko razvijale od rojstva podatkov. Ta blog pokriva razvoj shranjevanja podatkov na podlagi infografike.
Preberite blog, če želite na najpreprostejši način spoznati različne plasti v arhitekturi velikih podatkov in njihove funkcionalnosti.
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č