Statiskā tīkla un IPv6 konfigurēšana operētājsistēmā CentOS 7
VULTR nesen veica izmaiņas, un tagad visam vajadzētu darboties labi, ja ir iespējots NetworkManager. Ja vēlaties atspējot
Šajā apmācībā jūs uzzināsit, kā iestatīt pilnīgu RESTful API, kas apkalpos HTTP pieprasījumus, izmantojot Node.js un Express, vienlaikus veicot apgriezto starpniekserveri, izmantojot NGINX, Ubuntu 16.04 LTS. Mēs izmantosim lietojumprogrammu Pastnieks, ļoti labi zināms API izstrādes rīks, lai pārbaudītu mūsu API un pārliecinātos, ka tā ir pilnībā funkcionāla un darbojas pareizi. Node.js ir ātrs, vairāku platformu JavaScript ietvars, kura pamatā ir Chrome V8 dzinējs. To izmanto gan darbvirsmas, gan serveru lietojumprogrammās, un tas ir slavens ar viena pavediena notikumu cilpas apstrādi. Mēs izmantosim Node.js kā aizmugursistēmu mūsu RESTful API, kas ir komplektā ar Express.js — mūsu tīmekļa lietojumprogrammu ietvaru, kas izveidots Node.js. Express.js tiek izlaists kā bezmaksas un atvērta programmatūra. Express ir servera puses, rakstīts JavaScript, un ir paredzēts API veidošanai, tāpēc tas ir lieliski piemērots mūsu projektam. No otras puses, Postman ir ļoti jaudīgs HTTP klients, ņemot vērā API attīstību. Tajā ir visi rīki, kurus jūs varētu vēlēties API izstrādei.
Pirmkārt, jūs vēlaties doties uz Postman vietni un lejupielādēt un instalēt Postman galvenajam datoram (nevis jūsu serverim). Visas instalēšanas instrukcijas būs viņu vietnē.
Lai sāktu, mums vispirms būs jāinstalē Node.js, lai mēs varētu sākt izstrādāt mūsu API. Mēs lejupielādēsim un instalēsim Node.js no oficiālās vietnes.
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs
Turklāt vēlēsities paķert arī nepieciešamos veidošanas rīkus, kas noderēs moduļu apkopošanā.
sudo apt-get install build-essential
Šajā apmācībā mēs izmantosim Node.js LTS versiju, kas ir versija 8.9.3.
Mums būs jāinicializē jauns Node.js projekts, kurā būs lietojumprogramma. Lai to izdarītu, izveidojiet jaunu direktoriju.
mkdir expressapi
Mainiet uz jauno direktoriju. Kad esat iekšā, palaidiet npm init
un izpildiet visas nepieciešamās uzvednes. Ņemiet vērā savas lietojumprogrammas "ieejas punktu": šo failu izveidosit vēlāk. Kad esat pabeidzis, jūs redzēsiet package.json
failu pašreizējā direktorijā. Tas darbojas kā mūsu projekta apraksts, un tajā ir uzskaitītas visas funkcionēšanai nepieciešamās atkarības.
Tagad mēs konfigurēsim Express.js un tā atkarības.
npm install express
Sāksies instalēšanas process. Paies dažas minūtes, līdz viss tiks lejupielādēts.
Tālāk mēs izveidosim mūsu API galveno sākuma failu. Šeit jūs izmantosit package.json
failā redzēto "ieejas punktu" . Šīs apmācības nolūkos es izmantošu noklusējuma nosaukumu shēmu index.js
.
touch index.js
Pēc tam atveriet to nano teksta redaktorā.
nano index.js
Mūsu galvenajā failā mēs vispirms vēlamies izsaukt visas mūsu galvenās pakotnes un reģistrēt savus 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);
Būtībā tas, ko mēs šeit darām, ir mūsu lietotnes inicializācija un pamata maršrutētāja iestatīšana mūsu API. Ņemiet vērā, ka mēs iestatījām mūsu lietojumprogrammas portu uz 8080
. Šis numurs mums būs nepieciešams, kad konfigurēsim mūsu RESTful API. Tagad mēs esam gatavi iet uz priekšu un pārbaudīt mūsu API.
Projekta direktorijā izpildiet tālāk norādīto.
node <filename>.js
Tas sāks API, kur <filename>
atrodas failā norādītais sākuma package.json
fails. Pēc tam savā datorā/Mac datorā atveriet Postman un New
augšējā labajā stūrī noklikšķiniet uz pogas " Request
" , pēc tam noklikšķiniet uz " ". Atrodoties tur, jums vajadzētu redzēt joslu ar uzrakstu " GET
" blakus tai. Šeit mēs ievadīsim mūsu pieprasījuma URL. Vienkārši ievadiet tālāk norādīto pieprasījuma URL sadaļā un noklikšķiniet uz " Send
".
`http://your-server-ip:3000/api`
Jūs redzēsit " 'API is online'
".
Lai apstrādātu maršrutus, mēs izmantosim Express maršrutētāju. Ja nezināt, kas ir maršrutētājs, būtībā tas ir tas, kā lietojumprogrammu galapunkti reaģē uz klientu pieprasījumiem. Šeit ir norādīti maršruti, kurus mēs izveidosim kā piemēru:
/api/numbers
- Parāda visus skaitļus no 1 līdz 10.
/api/letters
- Parāda visus burtus no AZ.
Tagad mēs izveidosim savu pirmo maršruta starpprogrammatūras struktūru, piemēram, tā.
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})
});
Šajā piemērā mēs izveidojām situāciju, kurā lietotājs var pieprasīt skaitļa + 1 summu, norādot tā vārda formu, izmantojot GET metodi. Mēs izmantojam router.route()
funkciju, lai norādītu uz numuru, kuru mēs vēlamies nosūtīt atpakaļ. Parametri ir nosaukti ar " :
" pirms tiem. Mēs piekļūstam šiem parametriem, izmantojot req.params
.
Šeit ir piemērs ar burtiem.
router.route('/letters/:letter').get((req, res) => {
res.json({result: req.params.letter.toUpperCase()})
});
Mēs izmantojam to pašu metodi, kas norādīta iepriekš, taču mēs nosūtām vēstuli atpakaļ ar lielo burtu.
NGINX ir plaši pazīstama atvērtā pirmkoda programmatūra, ko izmanto tīmekļa apkalpošanai, reversajiem starpniekserveriem, straumēšanai un citam. Mēs izmantosim NGINX, lai mainītu mūsu API starpniekserveri, lai mēs varētu to palaist portā 80
, jo Node.js neļauj izveidot savienojumus portos, kas ir mazāki par 1024 bez root piekļuves. Tas var noderēt, saistot domēnu ar serveri.
Lai sāktu NGINX instalēšanu, terminālī būs jāpalaiž tālāk norādītā darbība un jāgaida, līdz instalēšana tiks pabeigta.
sudo apt-get install nginx
Tālāk mēs vēlēsimies izveidot mūsu vietnes failu, ko NGINX izmantos, lai mainītu mūsu lietotnes starpniekserveri.
sudo nano /etc/nginx/sites-available-api.js
Aizpildiet failu ar tālāk norādīto, pēc tam — CTRL+, Olai to saglabātu.
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;
}
}
Izmantojot to pašu portu, kurā mēs palaidām savu lietojumprogrammu iepriekš, mēs sakām Nginx novirzīt visus pieprasījumus no mūsu IP adreses portā 80
uz mūsu API, kas darbojas portā 8080
.
Pēc tam iespējojiet apgriezto starpniekserveri, simsaitijot mūsu jaunizveidoto failu ar sites-available
mapi:
sudo ln -s /etc/nginx/sites-available/api /etc/nginx/sites-available
Tas nodrošinās, ka NGINX mainīs mūsu API starpniekserveri.
Kad būsim pabeiguši NGINX konfigurāciju, mēs startēsim NGINX, pēc tam sāksim mūsu API. Pirmkārt, restartējiet NGINX.
sudo systemctl restart nginx
Pēc tam atgriezieties savā API direktorijā un sāciet to.
node <filename>.js
Lietojumprogramma darbosies portā 80
. Vienkārši palaidiet testu no augšas ar Postman, lai pārliecinātos, ka viss darbojas pareizi.
Ražošanas vidē vēlaties pārliecināties, vai jūsu Node lietojumprogrammām ir procesa pārvaldnieks, lai nodrošinātu, ka tās pastāvīgi darbojas fonā. Šajā apmācībā mēs izmantosim procesu pārvaldnieku ar nosaukumu PM2 (Process Manager 2), kas ir procesa pārvaldnieks Node.js lietojumprogrammām, kas nodrošinās to darbību mūžīgi ar minimālu dīkstāves laiku. PM2 ir aprīkots ar daudziem noderīgiem pārvaldības rīkiem, piemēram, apturēšanu, atkārtotu ielādi, pauzi un citiem. Lai instalētu PM2, ierakstiet tālāk norādīto un gaidiet, līdz tas tiek instalēts.
sudo npm install pm2 -g
Kad tā ir instalēta, jums tikai jāpārliecinās, ka atrodaties projekta direktorijā, ierakstiet tālāk norādīto, un lietojumprogramma tiks startēta.
pm2 start <filename>.js
Kā minēts iepriekš, PM2 ir daži noderīgi rīki, kurus varat izmantot, lai labāk pārvaldītu savu lietojumprogrammu.
pm2 stop
- Kā norāda nosaukums, tas ļauj apturēt pašlaik darbojošos lietojumprogrammu un apturēt tās procesu. Ja jūsu lietojumprogramma rada negaidītu rezultātu, noderēs tās apturēšana.
pm2 list
- Saraksta funkcija ļauj skatīt visas pašlaik darbojošās lietojumprogrammas, izmantojot PM2, kartētas pēc to nosaukumiem. Ja vēlaties ātri pārbaudīt lietojumprogrammas darbības laiku, izmantojiet šo rīku.
pm2 restart
- Ja jūsu lietojumprogramma kāda iemesla dēļ sasalst un vēlaties to atkārtoti ielādēt, pm2 restart to dara. Tas apturēs pieteikšanās procesu un atsāks to no jauna, izmantojot citu procesu.
pm2 monit
- PM2 iebūvētais monitora rīks ļauj skatīt diagrammu ar jūsu lietojumprogrammas specifiskajām detaļām, piemēram, CPU/RAM lietojumu, lietotājam draudzīgā ncurses stila diagrammā. Tas ir noderīgi, ja vēlaties vizuālu priekšstatu par jūsu lietojumprogrammas slodzi.
Mēs esam pabeiguši savu uzdevumu izveidot RESTful API, izmantojot Node.js, Express un apgriezto starpniekserveri, izmantojot NGINX. Jūtieties brīvi paplašināt šo apmācību. Izmantojot jauno API, varat paveikt daudzas lieliskas lietas, piemēram, pievienot autentifikācijas metodes, datubāzi, labāku maršrutu un kļūdu apstrādi un daudz ko citu. Ja jums ir domēns ar “A” ierakstu, kas jau ir iestatīts jūsu IP adresē, varēsit piekļūt savai API no sava domēna. Ja vēlaties uzzināt vairāk par Express.js, apmeklējiet viņu vietni http://expressjs.com . Lai uzzinātu vairāk par NGINX un apgriezto starpniekserveri, apmeklējiet vietni http://nginx.com . Lai uzzinātu vairāk par PM2, apmeklējiet viņu lapu http://pm2.keymetrics.io .
VULTR nesen veica izmaiņas, un tagad visam vajadzētu darboties labi, ja ir iespējots NetworkManager. Ja vēlaties atspējot
Vai izmantojat citu sistēmu? Docker ir lietojumprogramma, kas ļauj izvietot programmas, kas tiek darbinātas kā konteineri. Tas tika uzrakstīts populārajā Go programmā
Kas ir netīrā govs (CVE-2016-5195)? Netīrās govs ievainojamība tiek izmantota, izmantojot to, kā Linux apstrādā kodu. Tas ļauj nepievilinātam lietotājam gai
Vultr serveri var nebūt izvietoti ar jūsu serverī nepieciešamo laika joslu/datumu/laiku. Par laimi mēs varam manuāli iestatīt laika joslu, lai novērstu problēmas
Rust, plaši pazīstama kā Rust-Lang, ir sistēmas programmēšanas valoda, ko izstrādā Mozilla un atbalsta LLVM. Rūsa ir pazīstama ar programmu novēršanu
Vai izmantojat citu sistēmu? osTicket ir atvērtā koda klientu atbalsta biļešu sistēma. osTicket pirmkods ir publiski mitināts vietnē Github. Šajā apmācībā
Ievads Linux iespējas ir īpaši atribūti Linux kodolā, kas piešķir procesiem un binārajiem izpildāmajiem failiem īpašas privilēģijas, kas ir normālas.
Julia, plaši pazīstama kā JuliaLang, ir programmēšanas valoda skaitliskajai skaitļošanai. Džūlija ir tikpat ātra kā C, taču tas neupurē lasāmību
Dažām augstas pieejamības arhitektūrām nepieciešama peldoša IP adrese. Šī funkcionalitāte ir pieejama Vultr platformā, tiklīdz ir izveidots privātais tīkls
Ievads Dažos gadījumos ir nepieciešams izveidot lietotājus ar lasīšanas un rakstīšanas piekļuvi vienam direktorijam, tikai izmantojot FTP. Šis raksts jums parādīs, kā t
Node.js lietojumprogrammas ir populāras to mērogošanas spējas dēļ. Vairāku vienlaicīgu procesu palaišana vairākos serveros nodrošina mazāku latentumu un ilgāku darbības laiku
SuiteCRM ir bezmaksas atvērtā koda alternatīva populārajai klientu attiecību pārvaldības (CRM) sistēmai SugarCRM. Tas kļuva populārs, kad SugarCRM nolēma
Open Eshop ir bezmaksas atvērtā koda e-komercijas programmatūra digitālo preču, piemēram, MP3, e-grāmatu, filmu, programmatūras un daudz ko citu, pārdošanai. Šajā apmācībā mēs vēlēsimies
NixOS ir tīri funkcionāls Linux izplatīšana. To var atrast vietnē nixos.org. Galvenais NixOS izmantošanas iemesls ir tas, ka tas ir pilnībā deklaratīvs, kas padara
Iespējams, daudzi cilvēki izmantos savus Vultr VPS kā tīmekļa serverus, laba izvēle būtu Nginx kā tīmekļa serveris. Šajā tēmā es aprakstīšu o
Hosts fails ir īpašs fails jūsu darbstacijas datorā, kurā tiks saglabāta IP un nosaukuma informācija. Šis fails tiek pārbaudīts pirms DNS, tādēļ, ja ievietojat a
Xubuntu ir XFCE + Ubuntu! XFCE ir viegla Ubuntu GUI/darbvirsma. Vultr serveriem ir nepieciešamas papildu atkarības, kas pēc noklusējuma nav instalētas
Ievads Let's Encrypt ir sertifikācijas iestāde (CA), kas izsniedz bezmaksas SSL/TLS sertifikātus. Lighttpd ir viegls tīmekļa serveris, kas darbojas uz lo
Apache ir ļoti viegli instalēt un inicializēt, taču tas ir aprīkots ar daudziem iepriekš instalētiem moduļiem, kā rezultātā, palaižot, var rasties veiktspējas problēmas.
iptables ir ugunsmūra programmatūra, ko var atrast daudzos izplatījumos, tostarp CentOS un Ubuntu. Šajā dokumentā jūs redzēsit, kā jūs varat novērst vienlaicīgumu
Mākslīgais intelekts nav nākotnē, tas ir šeit, tagadnē. Šajā emuārā lasiet, kā mākslīgā intelekta lietojumprogrammas ir ietekmējušas dažādas nozares.
Vai arī jūs esat DDOS uzbrukumu upuris un esat neizpratnē par profilakses metodēm? Izlasiet šo rakstu, lai atrisinātu savus jautājumus.
Iespējams, esat dzirdējuši, ka hakeri pelna daudz naudas, bet vai esat kādreiz domājuši, kā viņi nopelna šādu naudu? pārrunāsim.
Vai vēlaties redzēt revolucionārus Google izgudrojumus un to, kā šie izgudrojumi mainīja katra cilvēka dzīvi mūsdienās? Pēc tam lasiet emuārā, lai redzētu Google izgudrojumus.
Pašpiedziņas automobiļu koncepcija izbraukt uz ceļiem ar mākslīgā intelekta palīdzību ir mūsu sapnis jau kādu laiku. Bet, neskatoties uz vairākiem solījumiem, tie nekur nav redzami. Lasiet šo emuāru, lai uzzinātu vairāk…
Zinātnei strauji attīstoties, pārņemot lielu daļu mūsu pūļu, palielinās arī risks pakļaut sevi neizskaidrojamai singularitātei. Izlasiet, ko singularitāte varētu nozīmēt mums.
Datu uzglabāšanas metodes ir attīstījušās kopš datu dzimšanas. Šajā emuārā ir aprakstīta datu uzglabāšanas attīstība, pamatojoties uz infografiku.
Lasiet emuāru, lai vienkāršākā veidā uzzinātu dažādus lielo datu arhitektūras slāņus un to funkcijas.
Šajā digitālajā pasaulē viedās mājas ierīces ir kļuvušas par būtisku dzīves sastāvdaļu. Šeit ir daži pārsteidzoši viedo mājas ierīču ieguvumi, lai padarītu mūsu dzīvi dzīves vērtu un vienkāršāku.
Nesen Apple izlaida macOS Catalina 10.15.4 papildinājuma atjauninājumu, lai novērstu problēmas, taču šķiet, ka atjauninājums rada vairāk problēmu, kas izraisa Mac datoru bloķēšanu. Izlasiet šo rakstu, lai uzzinātu vairāk