Į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 sužinosite, kaip Ubuntu 16.04 LTS nustatyti visą RESTful API, kuri aptarnaus HTTP užklausas naudojant Node.js ir Express, o atvirkštinis tarpinis serveris naudojamas naudojant NGINX. Mes naudosime programą, pavadintą Postman, labai gerai žinomas API kūrimo įrankis, skirtas išbandyti mūsų API ir įsitikinti, kad ji visiškai veikia ir tinkamai veikia. 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. Naudosime Node.js kaip savo RESTful API užpakalinę programą, susietą su Express.js, mūsų žiniatinklio programų sistema, sukurta Node.js. Express.js išleidžiama kaip nemokama ir atvira programinė įranga. „Express“ yra serverio pusėje, parašyta „JavaScript“ ir skirta kurti API, todėl puikiai tinka mūsų projektui. Kita vertus, „Postman“ yra labai galingas HTTP klientas, turintis omenyje API plėtrą. Jame yra visi įrankiai, kurių galbūt norėsite kurdami API.
Pirmiausia norite pereiti į „ Postman“ svetainę ir atsisiųsti bei įdiegti „Postman“ pagrindiniame kompiuteryje (ne serveryje). Visos diegimo instrukcijos bus pateiktos jų svetainėje.
Norėdami pradėti, pirmiausia turėsime įdiegti Node.js, kad galėtume pradėti kurti savo API. Atsisiųsime ir įdiegsime Node.js iš oficialios svetainės.
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs
Be to, taip pat norėsite paimti reikalingus kūrimo įrankius, kurie bus naudingi kuriant modulius.
sudo apt-get install build-essential
Šioje mokymo programoje naudosime LTS Node.js versiją, kuri yra 8.9.3 versija.
Turėsime inicijuoti naują Node.js projektą, kuriame bus programa. Norėdami tai padaryti, sukurkite naują katalogą.
mkdir expressapi
Pakeiskite į naują katalogą. Įėję į vidų, paleiskite npm init
ir užpildykite visus reikiamus raginimus. Atkreipkite dėmesį į savo programos „įvesties tašką“: šį failą sukursite vėliau. Kai baigsite, package.json
dabartiniame kataloge pamatysite failą. Jis veikia kaip mūsų projekto aprašymas ir išvardija visas priklausomybes, reikalingas veikimui.
Dabar sukonfigūruosime Express.js ir jo priklausomybes.
npm install express
Diegimo procesas prasidės. Prireiks kelių minučių, kol viskas bus atsiųsta.
Tada sukursime pagrindinį API pradinį failą. Čia jūs naudosite „įvesties tašką“, kurį matėte package.json
faile. Šios pamokos sumetimais naudosiu numatytąją pavadinimo schemą index.js
.
touch index.js
Tada atidarykite jį nano teksto rengyklėje.
nano index.js
Pagrindiniame faile pirmiausia norime iškviesti visus pagrindinius paketus ir užregistruoti maršrutus.
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
var port = process.env.PORT || 8080;
const router = express.Router();
router.get('/', function(req, res) {
res.json({ message: 'API is Online!' });
});
app.use('/api', router);
app.listen(port);
console.log('Listening on port ' + port);
Iš esmės tai, ką mes darome, yra programos inicijavimas ir pagrindinio API maršruto parinktuvo nustatymas. Atminkite, kad mes nustatėme savo programos prievadą į 8080
. Šio numerio mums prireiks, kai sukonfigūruosime RESTful API. Dabar esame pasirengę eiti į priekį ir išbandyti savo API.
Projekto kataloge paleiskite šiuos veiksmus.
node <filename>.js
Bus paleista API, kur <filename>
yra pradinis failas, kurį nurodėte package.json
faile. Tada savo asmeniniame / „Mac“ kompiuteryje atidarykite „Postman“ ir spustelėkite New
mygtuką „ “ viršutiniame dešiniajame kampe, tada spustelėkite „ Request
“. Kai ten, turėtumėte pamatyti juostą su užrašu „ GET
“. Čia įvesime savo užklausos URL. Tiesiog įveskite toliau pateiktą užklausos URL skiltyje ir spustelėkite „ Send
“.
`http://your-server-ip:3000/api`
Pamatysite " 'API is online'
".
Norėdami valdyti maršrutus, naudosime Express maršrutizatorių. Jei nežinote, kas yra maršrutizatorius, tai iš esmės tai, kaip programos galiniai taškai reaguoja į kliento užklausas. Štai maršrutai, kuriuos nustatysime kaip pavyzdį:
/api/numbers
- Rodo visus skaičius nuo 1 iki 10.
/api/letters
- Rodo visas raides iš AZ.
Dabar mes sukursime savo pirmąją maršruto tarpinės programinės įrangos struktūrą, panašiai.
router.use(function(req, res, next) {
console.log('We've got something.');
next() //calls next middleware in the application.
});
router.route('/numbers/:number').get((req, res) => {
res.json({result: req.params.number + 1})
});
Šiame pavyzdyje nustatome situaciją, kai vartotojas gali prašyti skaičiaus + 1 sumos, pateikdamas jo žodžio formą, naudodamas GET metodą. Mes naudojame router.route()
funkciją taško iki kokiu numeriu norime siųsti atgal, kaip rezultatas. Parametrai įvardijami su " :
" priešais juos. Šiuos parametrus (-us) pasiekiame per req.params
.
Štai pavyzdys su raidėmis.
router.route('/letters/:letter').get((req, res) => {
res.json({result: req.params.letter.toUpperCase()})
});
Naudojame tą patį metodą, kaip aprašyta aukščiau, bet laišką siunčiame atgal, rašytą didžiosiomis raidėmis.
NGINX yra gerai žinoma atvirojo kodo programinė įranga, naudojama žiniatinklio aptarnavimui, atvirkštiniams tarpiniams serveriams, srautiniam perdavimui ir kt. Naudosime NGINX, kad pakeistume tarpinį savo API tarpinį serverį, kad galėtume jį paleisti per prievadą 80
, nes Node.js neleidžia prisijungti prie mažesnių nei 1024 prievadų be root prieigos. Tai gali būti naudinga susiejant domeną su serveriu.
Norėdami pradėti diegti NGINX, savo terminale turėsite paleisti šiuos veiksmus ir palaukti, kol diegimas bus baigtas.
sudo apt-get install nginx
Tada norėsime sukurti savo svetainės failą, kurį NGINX naudos, kad pakeistų mūsų programos tarpinį serverį.
sudo nano /etc/nginx/sites-available-api.js
Užpildykite failą toliau nurodytais žodžiais, tada CTRL+, Okad jį išsaugotumėte.
server {
listen 80;
location / {
proxy_set_header X-Real-IP
$remote_addr;
proxy_set_header
X-Forwarded-For
$proxy_add_x_forwarded_for;
proxy_set_header Host
$http_host;
proxy_set_header
X-NginX-Proxy true; proxy_pass
http://127.0.0.1:8080/;
proxy_redirect off;
proxy_http_version 1.1;
proxy_set_header Upgrade
$http_upgrade;
proxy_set_header Connection
"upgrade";
proxy_redirect off;
proxy_set_header
X-Forwarded-Proto $scheme;
}
}
Naudodami tą patį prievadą, kuriame anksčiau paleidome programą, liepiame Nginx nukreipti visas užklausas iš mūsų IP adreso prievade 80
į mūsų API, veikiančią prievade 8080
.
Tada įgalinkite atvirkštinį tarpinį serverį, susiedami mūsų naujai sukurtą failą su sites-available
aplanku:
sudo ln -s /etc/nginx/sites-available/api /etc/nginx/sites-available
Tai užtikrins, kad NGINX pakeis mūsų API tarpinį serverį.
Kai baigsime NGINX konfigūraciją, paleisime NGINX, tada paleisime API. Pirmiausia iš naujo paleiskite NGINX.
sudo systemctl restart nginx
Tada grįžkite į savo API katalogą ir paleiskite jį.
node <filename>.js
Programa veiks uoste 80
. Tiesiog paleiskite testą iš viršaus naudodami Postman, kad įsitikintumėte, jog viskas veikia tinkamai.
Gamybos aplinkoje norite įsitikinti, kad turite savo Node taikomųjų programų procesų tvarkyklę, kad jos amžinai veiktų fone. Šioje pamokoje mes naudosime procesų tvarkyklę, vadinamą PM2 (Process Manager 2), kuri yra Node.js programų procesų tvarkyklė, kuri išliks jas amžinai su minimaliomis prastovomis. PM2 yra su daug naudingų valdymo įrankių, tokių kaip sustabdymas, įkėlimas iš naujo, pristabdymas ir kt. Norėdami įdiegti PM2, įveskite toliau pateiktą informaciją ir palaukite, kol jis bus įdiegtas.
sudo npm install pm2 -g
Įdiegę tereikia įsitikinti, kad esate projekto kataloge, įveskite toliau pateiktą informaciją ir programa bus paleista.
pm2 start <filename>.js
Kaip minėta anksčiau, PM2 turi keletą naudingų įrankių, kuriuos galite naudoti norėdami geriau valdyti programą.
pm2 stop
- Kaip rodo pavadinimas, tai leidžia sustabdyti šiuo metu veikiančią programą ir sustabdyti jos procesą. Jei jūsų programa duoda netikėtų rezultatų, ją sustabdyti bus naudinga.
pm2 list
- Sąrašo funkcija leidžia matyti visas šiuo metu veikiančias programas per PM2, susietas pagal jų pavadinimus. Jei reikia greitai patikrinti programos veikimo laiką, naudokite šį įrankį.
pm2 restart
- Jei jūsų programa dėl kokios nors priežasties užstringa ir norėtumėte ją įkelti iš naujo, pm2 restart tai padarys. Tai nutrauks paraiškos teikimo procesą ir pradės jį iš naujo pagal kitą procesą.
pm2 monit
- PM2 integruotas monitoriaus įrankis leidžia peržiūrėti konkrečių jūsų programos detalių, pvz., procesoriaus / RAM naudojimo, grafiką patogioje ncurses stiliaus diagramoje. Tai naudinga, jei norite vaizdinio savo programos įkėlimo vaizdo.
Dabar baigėme savo užduotį sukurti RESTful API, naudodami Node.js, Express ir atvirkštinį tarpinį serverį naudodami NGINX. Nedvejodami praplėskite šią mokymo programą. Naudodami naują API galite padaryti daug puikių dalykų, pvz., pridėti autentifikavimo metodus, duomenų bazę, geresnį maršruto ir klaidų tvarkymą ir daug daugiau. Jei turite domeną, kurio „A“ įrašas jau nustatytas jūsų IP adresu, galėsite pasiekti API iš savo domeno. Jei norite sužinoti daugiau apie Express.js, apsilankykite jų svetainėje adresu http://expressjs.com . Norėdami sužinoti daugiau apie NGINX ir atvirkštinį tarpinį serverį, apsilankykite http://nginx.com . Norėdami sužinoti daugiau apie PM2, apsilankykite jų puslapyje adresu http://pm2.keymetrics.io .
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į