Įdiekite „Plesk“ „CentOS 7“.
Naudojate kitą sistemą? Plesk yra patentuotas žiniatinklio prieglobos valdymo skydelis, leidžiantis vartotojams administruoti savo asmenines ir (arba) klientų svetaines, duomenų bazes
Šiame vadove mes išmoksime, kaip sukurti Koa.js žiniatinklio programą gamybai naudojant Node.js. Taip pat susiesime pavyzdinį domeną su atvirkštiniu tarpiniu serveriu, naudodami „Apache“, ir išmoksime jį valdyti naudodami tinkamą proceso tvarkyklę. Nesivaržydami, pradėkime.
Node.js yra greita kelių platformų „JavaScript“ sistema, pagrįsta „Chrome“ V8 varikliu. Jis naudojamas tiek darbalaukio, tiek serverio programose ir garsėja vienos gijos įvykių ciklo apdorojimu. Node.js turi paketų registrą, vadinamą Node Package Manager (NPM), kuriame yra daugiau nei pusė milijono paketų. NPM paketai (arba moduliai) yra pagrindinis Node.js pagrindas, nes jie yra bendruomenės valdomas kodas, kuris gali būti naudingas jūsų Node.js programoje. Mūsų Koa.js programoje Node.js yra pagrindinė jos funkcijos dalis.
Koa.js yra minimalistinė žiniatinklio sistema, sukurta Node.js platformoje. Sukurta tos pačios komandos, kuri gamina populiariąją Express.js sistemą, jos tikslas yra dar labiau sumažinti jau minimalistinę Express.js sistemą, iš jos pagrindo neįtraukiant tarpinės programinės įrangos. Pagrindinis Koa.js bruožas yra tai, kad nėra atgalinių skambučių. Koa.js sukurtas remiantis ES6 generatoriais ir ES6 funkcijomis, pvz., Promises.
„Apache“ yra populiarus atvirojo kodo žiniatinklio serveris, naudojamas kaip labai paprastas žiniatinklio serverių pradžios taškas. Šioje pamokoje mes naudosime „Apache“ kaip atvirkštinį tarpinį serverį, kuris leis mums susieti programą su pavyzdiniu domenu. Jei neturite domeno, ši pamoka jums vis tiek veiks, tačiau vienintelis skirtumas yra tas, kad svetainė veiks jūsų VPS IP, o ne domene.
Kaip ir bet kurioje Node.js sistemoje, savo VPS turėsite įdiegti Node.js. Dėl šios pamokos manysiu, kad jūsų sistemoje jau įdiegtas Node.js. Jei ne, galite tiesiog vadovautis čia pateiktomis instrukcijomis .
Turėsime sukurti aplanką, kuriame bus pagrindiniai mūsų programos failai.
mkdir site
Nedvejodami pakeiskite site
bet kokiu kitu katalogo pavadinimu. Tada turėsime inicijuoti Node.js paketo failą. Pakeiskite į ką tik sukurtą katalogą, paleiskite npm init
ir užpildykite raginimus. Galų gale tai turėtų atrodyti maždaug taip:
{
"name": "site",
"version": "1.0.0",
"description": "Koa.js Site",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "yourname",
"license": "ISC"
}
Dabar, kai turime savo katalogą, galime pradėti diegti Koa.js. Dabartiniame darbo kataloge /site
įveskite toliau pateiktą informaciją.
npm install koa
Tai atsisiųs Koa.js modulį iš NPM ir įdiegs jį į mūsų projekto katalogą, kad galėtumėte naudoti ateityje. Tada sukursime pavyzdinį programos failą, kuriame bus mūsų programos kodas. Norėdami tai padaryti, sukurkite index.js
failą.
nano index.js
Patekę į failą, sukurkite programos pavyzdį.
const Koa = require('koa');
const app = new Koa();
app.use(async ctx => {
ctx.body = 'Hello World';
});
app.listen(3000);
console.log('Website is live!')
Išsaugokite ir uždarykite failą. CTRL+ X.
Norime įsitikinti, kad mūsų programa veikia tinkamai. Norėdami jį pradėti, paleiskite node index.js
ir Website is live
konsolėje pamatysite .
Dabar, kai žinome, kad mūsų svetainė veikia, galime pradėti diegti „Apache“ ir jos priklausomybes.
sudo apt install -y libapache2-mod-proxy-html libxml2-dev
Norėdami naudoti „Apache“ esančią atvirkštinio tarpinio serverio funkciją, turėsime įjungti reikiamus modulius.
a2enmod proxy
a2enmod proxy_http
a2enmod proxy_ajp
a2enmod rewrite
a2enmod deflate
a2enmod headers
a2enmod proxy_balancer
a2enmod proxy_connect
a2enmod proxy_html
Kai kurie iš šių modulių jau gali būti įjungti, bet visada naudinga juos dar kartą patikrinti.
Dabar turime redaguoti numatytąjį „Apache“ konfigūracijos failą.
sudo nano /etc/apache2/sites-enabled/000-default.conf
Čia turėsime pridėti savo programos bloką.
<VirtualHost *:*>
ProxyPreserveHost On
ProxyPass / http://0.0.0.0:3000/
ProxyPassReverse / http://0.0.0.0:3000
ServerName localhost
</VirtualHost>
Išsaugokite failą, CTRL+ X.
Galite pastebėti, kad prievadą naudojame 3000
kaip savo ProxyPass
ir ProxyPassReverse
IP prievadą . Kadangi tai yra tas pats prievadas, kuriame veikia Koa.js programa, būtina įvesti tinkamą prievadą.
Įdiegę pakeitimus turėsime iš naujo paleisti „Apache“ ir iš naujo paleisti „Koa.js“ programą.
sudo systemctl restart apache2
Tai užtikrins, kad mūsų konfigūracijos failas būtų aktyvus ir paruoštas darbui, kai paleisime Koa.js programą. Kai „Apache“ bus paleistas iš naujo, grįžkite į savo svetainės katalogą ir paleiskite programą „Koa.js“, kaip darėme anksčiau. Žiniatinklio naršyklėje eikite į http://yourdomain
, arba http://yourip:
ir pamatysite "Hello World".
Dabar, kai apžvelgėme pavyzdinės Koa.js programos kūrimo pagrindus, suprantame, kad gamybinėje aplinkoje paleisti tokią programą, kokia yra dabar, yra nepraktiška. Proceso vadovas tikrai yra reikalavimas. Štai čia ir atsiranda systemd. Paprastais žodžiais tariant, systemd susideda iš programinės įrangos, kuri suteikia Linux sistemos sudedamąsias dalis. Panašiai kaip „init“, ji suteikia sistemą, skirtą valdyti vartotojo procesus po sistemos paleidimo. Mūsų programos atveju systemd leidžia automatiškai paleisti mūsų svetainę po to, kai sistema buvo paleista iš naujo, jei įvyktų įvykis, sutrikdantis sistemos veikimo laiką. Jame taip pat pateikiamas įrankių rinkinys, kuris gali būti naudingas tvarkant mūsų programą. Geriausia yra tai, kad jis yra integruotas į Ubuntu 16.04 LTS, todėl mums nereikia diegti jokios papildomos programinės įrangos.
Viskas, ko mums reikia norint paleisti programą, bus faile, pavadintame service
. Jame yra išsami informacija apie mūsų programą, pvz., jos pavadinimas, katalogas, aplinka ir kt. Norėdami sukurti sistemos failą, atidarykite teksto rengyklę.
sudo nano /lib/systemd/system/site.service
Redaguokite ir išsaugokite failą taip.
[Unit]
Description=desc here
Documentation=https://example.com
After=network.target
[Service]
Environment=NODE_PORT=3000
Type=simple
User=youruser
ExecStart=/usr/bin/node /home/[youruser]/site/index.js
Restart=on-failure
[Install]
WantedBy=multi-user.target
Pakeiskite youruser
savo serverio vartotojo vardu. Štai trumpas svarbių laukų aprašymas:
After
- Tai informuoja sistemą, kad prieš paleisdami programą palauktų, kol tinklo sąsaja bus paruošta.Environment
- Čia galime nurodyti aplinkos kintamuosius mūsų programai. Mūsų Node.js prievadas yra vienas iš jų.Type
- Tai informuoja sistemą, kad mūsų programą galima tiesiog paleisti, nesuteikiant vartotojo privilegijų ir pan.User
- Tai nurodo sistemai, kad norime paleisti programą naudodami savo vartotojo abonementą, o tai yra rekomenduojama. Paleidus programas kaip root naudotojui, gali kilti daug saugumo problemų.ExecStart
- Iš esmės tai yra komanda, kurią systemd paleis, kad paleistumėte programą, panašiai kaip anksčiau ją paleidome rankiniu būdu.Restart
- Nurodo sistemai, kokiomis sąlygomis iš naujo paleisti programą. Tokiu atveju norime, kad mūsų svetainė būtų paleista iš naujo, jei įvyktų klaida.Dabar esame pasirengę pradėti sisteminę paslaugą.
sudo systemctl daemon-reload
Tai būtina, kai pasikeičia sistemos paslaugos failas, kad sistema užregistruotų visus naujus pakeitimus.
Tada paleiskite paraišką.
sudo systemctl start site
Naršyklėje dar kartą eikite į svetainę ir patikrinkite, ar viskas veikia.
stop
- Visiškai sustabdo programą.restart
- Sustabdo programą ir paleidžia ją iš naujo pagal naują procesą.enable
- Nurodo sistemai paleisti programą, kai tik paleidžiate kompiuterį.status
- Rodo informaciją apie šiuo metu veikiančią programą, pvz., veikimo laiką, programos būseną ir kt.Norėdami naudoti bet kurią iš šių funkcijų, atlikite toliau nurodytus veiksmus.
systemctl <function> site
Sėkmingai nustatėme Koa.js programą ir išmokome ją pakeisti tarpiniu serveriu, taip pat valdyti su systemd. Dabar esate pasirengę išplėsti savo programą ir remtis šiuo pavyzdžiu. Jei norite sužinoti daugiau apie Koa.js ir daugiau dalykų, kuriuos galite padaryti, apsilankykite jų svetainėje , kur rasite daugiau naudingos informacijos. Be to, jei norite daugiau sužinoti apie systemd procesų tvarkyklę, skaitykite jos dokumentaciją čia . Galiausiai, jei norite sužinoti daugiau apie „Apache“ atvirkštinį tarpinį serverį, nedvejodami peržiūrėkite juos čia .
Naudojate kitą sistemą? Plesk yra patentuotas žiniatinklio prieglobos valdymo skydelis, leidžiantis vartotojams administruoti savo asmenines ir (arba) klientų svetaines, duomenų bazes
Įvadas Cacti yra atvirojo kodo stebėjimo ir grafikų sudarymo įrankis, visiškai pagrįstas RRD duomenimis. Naudodami „Cacti“ galite stebėti beveik bet kokio tipo įrenginius
Įvadas „Lets Encrypt“ yra sertifikatų išdavimo tarnyba, siūlanti nemokamus TLS/SSL sertifikatus. Diegimo procesą supaprastina Certbot,
Naudojate kitą sistemą? Kas yra Tekkit Classic? „Tekkit Classic“ yra visų žinomo ir mėgstamo žaidimo modifikacijų paketas; Minecraft. Jame yra keletas ver
Naudojate kitą sistemą? Ši pamoka parodys, kaip įdiegti grupinę programinę įrangą iRedMail naujai įdiegus Debian Wheezy. Turėtumėte naudoti tarnavimą
Naudojate kitą sistemą? „Jekyll“ yra puiki „WordPress“ alternatyva dienoraščių rašymui ar turinio dalijimuisi. Tam nereikia jokių duomenų bazių ir tai labai paprasta
Squid yra populiari nemokama „Linux“ programa, leidžianti sukurti persiuntimo žiniatinklio tarpinį serverį. Šiame vadove pamatysite, kaip įdiegti „Squid“ „CentOS“, kad paverstumėte jus
Įvadas Lighttpd yra „Apache“ šakutė, skirta daug mažiau išteklių imti. Jis yra lengvas, todėl jo pavadinimas ir yra gana paprastas naudoti. Įdiegti
1. Virtualmin/Webmin Virtualmin yra galingas ir lankstus interneto prieglobos valdymo skydelis, skirtas Linux ir UNIX sistemoms, pagrįstas gerai žinoma atvirojo kodo žiniatinklio baze
Yii yra PHP sistema, leidžianti greičiau ir lengviau kurti programas. „Yii“ įdiegimas „Ubuntu“ yra nesudėtingas, nes sužinosite tiksliai
Ekranas yra programa, leidžianti kelis kartus naudoti terminalo seansus viename lange. Tai leidžia imituoti kelis terminalo langus, kur tai ma
Įvadas Logrotate yra „Linux“ programa, supaprastinanti žurnalo failų administravimą. Paprastai jis veikia kartą per dieną per cron darbą ir tvarko žurnalų bazę
VULTR neseniai atliko pakeitimus, ir dabar viskas turėtų veikti gerai, kai įjungta „NetworkManager“. Jei norite išjungti
Icinga2 yra galinga stebėjimo sistema, o kai naudojama pagrindinio kliento modelyje, ji gali pakeisti NRPE pagrįstų stebėjimo patikrų poreikį. Meistras-klientas
Naudojate kitą sistemą? Apache Cassandra yra nemokama ir atviro kodo NoSQL duomenų bazių valdymo sistema, skirta užtikrinti mastelio keitimą, hig.
Naudojate kitą sistemą? Apache Cassandra yra nemokama ir atviro kodo NoSQL duomenų bazių valdymo sistema, skirta užtikrinti mastelio keitimą, hig.
Naudojate kitą sistemą? MODX Revolution yra greita, lanksti, keičiamo dydžio, nemokama ir atviro kodo, įmonės lygio turinio valdymo sistema (TVS), parašyta i.
Naudojate kitą sistemą? Mattermost yra atvirojo kodo, savarankiškai priglobta alternatyva Slack SAAS pranešimų paslaugai. Kitaip tariant, naudodami Mattermost, jūs apytiksliai
Naudojate kitą sistemą? MODX Revolution yra greita, lanksti, keičiamo dydžio atvirojo kodo, įmonės lygio turinio valdymo sistema (TVS), parašyta PHP. Tai i
„Plesk“ valdymo skydelyje yra labai graži „Lets Encrypt“ integracija. „Lets Encrypt“ yra vienas iš vienintelių SSL teikėjų, išduodančių visus sertifikatus
Dirbtinis intelektas nėra ateityje, jis čia, dabartyje Šiame tinklaraštyje Skaitykite, kaip dirbtinio intelekto programos paveikė įvairius sektorius.
Ar taip pat esate DDOS atakų auka ir esate sumišęs dėl prevencijos metodų? Perskaitykite šį straipsnį, kad išspręstumėte savo užklausas.
Galbūt girdėjote, kad įsilaužėliai uždirba daug pinigų, bet ar kada susimąstėte, kaip jie uždirba tokius pinigus? padiskutuokime.
Ar norite pamatyti revoliucinius „Google“ išradimus ir kaip šie išradimai pakeitė kiekvieno žmogaus gyvenimą šiandien? Tada skaitykite tinklaraštį, kad pamatytumėte „Google“ išradimus.
Savavaledžių automobilių koncepcija, kuri išvažiuotų į kelius su dirbtinio intelekto pagalba, yra svajonė, kurią jau kurį laiką svajojame. Tačiau nepaisant kelių pažadų, jų niekur nematyti. Skaitykite šį tinklaraštį, kad sužinotumėte daugiau…
Kadangi mokslas sparčiai vystosi, perimdamas daug mūsų pastangų, taip pat didėja rizika, kad pateksime į nepaaiškinamą singuliarumą. Skaitykite, ką mums gali reikšti išskirtinumas.
Duomenų saugojimo metodai gali būti tobulinami nuo pat Duomenų gimimo. Šiame tinklaraštyje, remiantis infografika, aprašoma duomenų saugojimo raida.
Skaitykite tinklaraštį, kad paprasčiausiai sužinotumėte apie skirtingus didžiųjų duomenų architektūros sluoksnius ir jų funkcijas.
Šiame skaitmeniniu būdu pagrįstame pasaulyje išmanieji namų įrenginiai tapo svarbia gyvenimo dalimi. Štai keletas nuostabių išmaniųjų namų įrenginių privalumų, kaip jie daro mūsų gyvenimą vertą gyventi ir paprastesnį.
Neseniai „Apple“ išleido „macOS Catalina 10.15.4“ priedą, skirtą problemoms išspręsti, tačiau atrodo, kad dėl atnaujinimo kyla daugiau problemų, dėl kurių „Mac“ įrenginiai blokuojami. Norėdami sužinoti daugiau, perskaitykite šį straipsnį