Telepítse a Plesket a CentOS 7 rendszeren
Más rendszert használ? A Plesk egy szabadalmaztatott webtárhely-vezérlőpult, amely lehetővé teszi a felhasználók számára, hogy adminisztrálják személyes és/vagy ügyfeleik webhelyeit, adatbázisait
Ebből az oktatóanyagból megtudhatja, hogyan állíthat be egy teljes RESTful API-t, amely a HTTP-kéréseket Node.js és Express használatával szolgálja ki, miközben fordított proxyt NGINX-szel Ubuntu 16.04 LTS-en. A Postman nevű alkalmazást fogjuk használni, egy nagyon jól ismert API-fejlesztő eszköz, amellyel tesztelhetjük API-nkat, és megbizonyosodhatunk arról, hogy teljesen működőképes és megfelelően működik. A Node.js egy gyors, többplatformos JavaScript-keretrendszer, amely a Chrome V8-as motorján alapul. Asztali és szerveralkalmazásokban egyaránt használják, és híres egyszálú eseményhurok kezeléséről. A Node.js-t fogjuk használni a RESTful API háttérprogramjaként, amely a Node.js-hez épített webalkalmazás-keretrendszerünk, az Express.js-szel van csomagolva. Az Express.js ingyenes és nyílt szoftverként jelenik meg. Az Express szerveroldali, JavaScriptben íródott, és API-k építésére készült, így tökéletes a projektünkhöz. Másrészt a Postman egy nagyon erős HTTP-kliens, az API-fejlesztést szem előtt tartva. Az API-fejlesztéshez szükséges összes eszközt tartalmazza.
Először is fel kell lépnie a Postman webhelyére , és letöltenie és telepítenie kell a Postman-t a fő számítógépére (nem a szerverére). Minden telepítési utasítás megtalálható a weboldalukon.
A kezdéshez először telepítenünk kell a Node.js-t, hogy elkezdhessük az API fejlesztését. A Node.js fájl letöltése és telepítése a hivatalos webhelyről történik.
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs
Ezen kívül érdemes megragadni a szükséges összeállítási eszközöket is, amelyek hasznosak lesznek a modulok összeállításában.
sudo apt-get install build-essential
Ebben az oktatóanyagban a Node.js LTS verzióját fogjuk használni, amely a 8.9.3 verzió.
Inicializálnunk kell egy új Node.js projektet, amely egy alkalmazást fog tartalmazni. Ehhez hozzon létre egy új könyvtárat.
mkdir expressapi
Váltás az új könyvtárra. Miután belépett, futtassa, npm init
és töltse ki az összes szükséges utasítást. Jegyezze fel alkalmazása "belépési pontját": ezt a fájlt később hozza létre. Ha végzett, látni fog egy package.json
fájlt az aktuális könyvtárában. Ez a projekt leírásaként működik, és felsorolja a működéshez szükséges összes függőséget.
Most konfiguráljuk az Express.js-t és annak függőségeit.
npm install express
Megkezdődik a telepítési folyamat. Eltart néhány percig, amíg minden befejeződik a letöltéssel.
Ezután létrehozzuk az API fő kezdőfájlját. Itt fogja használni a package.json
fájlban látott "belépési pontot" . Az oktatóanyag kedvéért az alapértelmezett elnevezési sémát fogom használni, index.js
.
touch index.js
Ezután nyissa meg a nano szövegszerkesztőben.
nano index.js
A fő fájlunkban először meg akarjuk hívni az összes fő csomagunkat, és regisztrálni szeretnénk az útvonalainkat.
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);
Alapvetően az alkalmazásunk inicializálása és egy alapvető útválasztó beállítása az API-nkhoz. Vegye figyelembe, hogy az alkalmazásunk portját a következőre állítottuk 8080
. Erre a számra a RESTful API konfigurálásakor lesz szükségünk. Most készen állunk az API tesztelésére.
A projektkönyvtárban futtassa a következőt.
node <filename>.js
Ezzel elindítja az API-t, ahol <filename>
a fájlban megadott package.json
kezdőfájl található. Ezután nyissa meg a Postmant PC/Mac számítógépén, kattintson a New
jobb felső sarokban található " " gombra, majd kattintson a " Request
" gombra . Amikor ott van, egy sávot kell látnia GET
mellette a következő felirattal: " ". Ide írjuk be kérésünk URL-jét. Egyszerűen írja be a következőket a kérelem URL szakaszába, majd kattintson a " Send
" gombra .
`http://your-server-ip:3000/api`
A következőt fogja látni: " 'API is online'
".
Az útvonalak kezeléséhez az Express útválasztót fogjuk használni. Ha nem tudja, mi az az útválasztó, akkor ez lényegében az, hogy az alkalmazás végpontjai hogyan reagálnak az ügyfelek kérésére. Íme az útvonalak, amelyeket példaként beállítunk:
/api/numbers
- Az összes számot megjeleníti 1-től 10-ig.
/api/letters
- Megjeleníti az AZ összes betűjét.
Most beállítjuk az első útvonal köztes szoftver struktúránkat, hasonlóképpen.
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})
});
Ebben a példában egy olyan helyzetet állítottunk fel, amikor a felhasználó a GET metódussal lekérheti egy szám + 1 összegét a szóalakot megadva. A router.route()
függvény segítségével rámutatunk arra a számra, amelyet ennek eredményeként vissza akarunk küldeni. A paraméterek elnevezése :
előtt " " van. Ezeket a paramétereket a következőn keresztül érjük el req.params
.
Íme egy példa betűkkel.
router.route('/letters/:letter').get((req, res) => {
res.json({result: req.params.letter.toUpperCase()})
});
A fenti módszert alkalmazzuk, de a levelet nagybetűvel küldjük vissza.
Az NGINX egy jól ismert nyílt forráskódú szoftver, amelyet webszolgáltatásra, fordított proxykra, streamelésre és egyebekre használnak. Az NGINX-et fogjuk használni az API-nk proxyjának megfordításához, hogy lehetővé tegyük a porton való futtatását 80
, mivel a Node.js nem engedélyezi a kapcsolatokat 1024-nél kisebb portokon root hozzáférés nélkül. Ez hasznos lehet a domain és a szerver összekapcsolásakor.
Az NGINX telepítésének megkezdéséhez futtassa a következőt a terminálon, és várja meg, amíg a telepítés befejeződik.
sudo apt-get install nginx
Ezután létrehozzuk a webhelyfájlunkat, amelyet az NGINX az alkalmazásunk proxyjának visszafordításához fog használni.
sudo nano /etc/nginx/sites-available-api.js
Töltse ki a fájlt a következővel, majd a mentéséhez a CTRL+ jellel O.
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;
}
}
Ugyanazon a porton, amelyen az alkalmazásunkat korábban 80
futtattuk , azt mondjuk az Nginxnek, hogy irányítsa át az összes kérést a porton lévő IP-címünkről a porton futó API-ra 8080
.
Ezután engedélyezze a fordított proxyt úgy, hogy az újonnan létrehozott fájlunkat szimbolizálja a sites-available
mappával:
sudo ln -s /etc/nginx/sites-available/api /etc/nginx/sites-available
Ez biztosítja, hogy az NGINX megfordítsa az API-nkat.
Miután befejeztük az NGINX konfigurációját, elindítjuk az NGINX-et, majd elindítjuk az API-t. Először indítsa újra az NGINX-et.
sudo systemctl restart nginx
Ezután térjen vissza az API-könyvtárba, és indítsa el.
node <filename>.js
Az alkalmazás a porton fog futni 80
. Egyszerűen futtassa le a tesztet felülről a Postman segítségével, hogy megbizonyosodjon arról, hogy minden megfelelően működik.
Éles környezetben győződjön meg arról, hogy rendelkezik egy folyamatkezelővel a csomópont-alkalmazásokhoz, hogy azok örökké a háttérben futhassanak. Ebben az oktatóanyagban a PM2 (Process Manager 2) nevű folyamatkezelőt fogjuk használni, amely a Node.js alkalmazások folyamatkezelője, amely minimális állásidővel örökre életben tartja azokat. A PM2 számos hasznos felügyeleti eszközzel érkezik, mint például a leállítás, újratöltés, szüneteltetés stb. A PM2 telepítéséhez írja be a következőt, és várja meg a telepítést.
sudo npm install pm2 -g
A telepítés után nem kell mást tennie, mint megbizonyosodni arról, hogy a projektkönyvtárban van, írja be a következőket, és az alkalmazás elindul.
pm2 start <filename>.js
Amint azt korábban említettük, a PM2 rendelkezik néhány hasznos eszközzel, amelyek segítségével jobban kezelheti az alkalmazást.
pm2 stop
- Ahogy a neve is sugallja, ez lehetővé teszi az éppen futó alkalmazás leállítását és folyamatának leállítását. Ha az alkalmazás váratlan eredményt hoz, akkor hasznos lesz a leállítása.
pm2 list
- A lista funkció lehetővé teszi az összes jelenleg futó alkalmazás megtekintését a PM2-n keresztül, a nevükkel leképezve. Ha gyorsan szeretné ellenőrizni az alkalmazás üzemidejét, használja ezt az eszközt.
pm2 restart
- Ha az alkalmazás valamilyen okból lefagy, és újra szeretné tölteni, a pm2 restart pontosan ezt teszi. Leállítja a jelentkezési folyamatot, és újrakezdi, egy másik folyamat alatt.
pm2 monit
- A PM2 beépített monitoreszköze lehetővé teszi, hogy egy felhasználóbarát ncurses-stílusú grafikonon megtekintse az alkalmazás konkrét részleteit, például a CPU/RAM-használatot. Ez akkor hasznos, ha vizuális képet szeretne az alkalmazás betöltődéséről.
Mostanra befejeztük azt a feladatunkat, hogy létrehozunk egy RESTful API-t Node.js, Express használatával, és fordított proxyt az NGINX-szel. Nyugodtan bővítse ki ezt az oktatóanyagot. Az új API-val sok nagyszerű dolgot tehet, például hitelesítési módszereket, adatbázist, jobb útvonal- és hibakezelést és még sok minden mást. Ha van olyan domainje, amelyben már be van állítva egy „A” rekord az Ön IP-címéhez, akkor a domainjéből hozzáférhet API-jához. Ha többet szeretne megtudni az Express.js-ről, látogassa meg webhelyüket a http://expressjs.com címen . Ha többet szeretne megtudni az NGINX-ről és a fordított proxyról, látogasson el a http://nginx.com webhelyre . Ha többet szeretne megtudni a PM2-ről, látogassa meg oldalukat a http://pm2.keymetrics.io címen .
Más rendszert használ? A Plesk egy szabadalmaztatott webtárhely-vezérlőpult, amely lehetővé teszi a felhasználók számára, hogy adminisztrálják személyes és/vagy ügyfeleik webhelyeit, adatbázisait
Bevezetés A Cacti egy nyílt forráskódú megfigyelő és grafikus eszköz, amely teljes mértékben az RRD adatokon alapul. A Cactuson keresztül szinte bármilyen típusú eszközt felügyelhet
Bevezetés A Lets Encrypt egy hitelesítésszolgáltató szolgáltatás, amely ingyenes TLS/SSL-tanúsítványokat kínál. A telepítés folyamatát a Certbot leegyszerűsíti,
Más rendszert használ? Mi az a Tekkit Classic? A Tekkit Classic egy modpack ahhoz a játékhoz, amelyet mindenki ismer és szeret; Minecraft. Tartalmaz néhányat a ver
Más rendszert használ? Ez az oktatóanyag megmutatja, hogyan telepítheti a csoportmunka iRedMail programot a Debian Wheezy friss telepítésére. Használnia kell egy szervát
Más rendszert használ? A Jekyll nagyszerű alternatíva a WordPress helyett blogíráshoz vagy tartalommegosztáshoz. Nem igényel adatbázist, és nagyon egyszerű i
Más rendszert használ? Ha Debian szervert vásárol, akkor mindig rendelkeznie kell a legújabb biztonsági javításokkal és frissítésekkel, akár alszik, akár nem
A PHP és a kapcsolódó csomagok a leggyakrabban használt összetevők a webszerverek telepítésekor. Ebben a cikkben megtudjuk, hogyan kell beállítani a PHP 7.0 vagy PHP 7.1 o verzióját
A Squid egy népszerű, ingyenes Linux-program, amely lehetővé teszi továbbítási webproxy létrehozását. Ebben az útmutatóban megtudhatja, hogyan telepítheti a Squid-et a CentOS rendszerre, hogy megfordítsa
Bevezetés A Lighttpd az Apache forkja, amely sokkal kevésbé erőforrás-igényes. Könnyű, innen kapta a nevét, és meglehetősen egyszerű a használata. Telepítés
1. Virtualmin/Webmin A Virtualmin egy hatékony és rugalmas web hosting vezérlőpanel Linux és UNIX rendszerek számára, amely a jól ismert nyílt forráskódú webbázison alapul.
A Yii egy PHP-keretrendszer, amely lehetővé teszi alkalmazások gyorsabb és egyszerűbb fejlesztését. A Yii telepítése Ubuntura egyszerű, amint azt pontosan megtudhatja
A Screen egy olyan alkalmazás, amely lehetővé teszi a terminálmunkamenetek többszöri használatát egy ablakon belül. Ez lehetővé teszi több terminálablak szimulálását, ahol ez ma
Ez az oktatóanyag elmagyarázza, hogyan állíthat be DNS-kiszolgálót a Bind9 használatával Debian vagy Ubuntu rendszeren. A cikkben ennek megfelelően helyettesítse be a saját-domain-neve.com címet. TH-nál
Bevezetés A Logrotate egy Linux segédprogram, amely leegyszerűsíti a naplófájlok kezelését. Általában naponta egyszer fut egy cron-feladaton keresztül, és kezeli a naplóbázist
A VULTR a közelmúltban változtatásokat hajtott végre a saját oldalukon, és most már mindennek jól kell működnie, ha a NetworkManager engedélyezve van. Ha szeretné letiltani
Az Icinga2 egy hatékony felügyeleti rendszer, és mester-kliens modellben használva helyettesítheti az NRPE-alapú felügyeleti ellenőrzések szükségességét. A mester-kliens
Más rendszert használ? A Red5 egy Java nyelven megvalósított nyílt forráskódú médiaszerver, amely lehetővé teszi többfelhasználós Flash-alkalmazások, például élő streamin futtatását.
Ebben a cikkben látni fogjuk, hogyan fordíthatja le és telepítheti az Nginx fővonalat az Nginx hivatalos forrásaiból a PageSpeed modullal, amely lehetővé teszi a
Más rendszert használ? Az Apache Cassandra egy ingyenes és nyílt forráskódú NoSQL adatbázis-kezelő rendszer, amelyet úgy terveztek, hogy biztosítsa a méretezhetőséget,
A mesterséges intelligencia nem a jövőben, hanem itt a jelenben. Ebben a blogban Olvassa el, hogyan hatott a mesterséges intelligencia alkalmazások különböző ágazatokra.
Ön is DDOS támadások áldozata, és tanácstalan a megelőzési módszereket illetően? Olvassa el ezt a cikket a kérdések megoldásához.
Talán hallottál már arról, hogy a hackerek sok pénzt keresnek, de elgondolkodtál már azon, hogyan kereshetnek ennyi pénzt? beszéljük meg.
Szeretné látni a Google forradalmi találmányait, és azt, hogy ezek a találmányok hogyan változtatták meg minden mai ember életét? Ezután olvassa el a blogot, és nézze meg a Google találmányait.
Az önvezető autók koncepciója, hogy mesterséges intelligencia segítségével kerüljenek az utakra, már egy ideje álmunk. De számos ígéret ellenére sehol sem látszanak. Olvassa el ezt a blogot, hogy többet megtudjon…
Ahogy a tudomány gyors ütemben fejlődik, átveszi erőfeszítéseink nagy részét, megnő annak a kockázata is, hogy alávetjük magunkat egy megmagyarázhatatlan szingularitásnak. Olvassa el, mit jelenthet számunkra a szingularitás.
Az adatok tárolási módjai az Adatok születése óta alakulhatnak. Ez a blog egy infografika alapján mutatja be az adattárolás fejlődését.
Olvassa el a blogot, hogy a legegyszerűbb módon ismerje meg a Big Data Architecture különböző rétegeit és azok funkcióit.
Ebben a digitálisan vezérelt világban az intelligens otthoni eszközök az élet döntő részévé váltak. Íme az intelligens otthoni eszközök néhány elképesztő előnye, hogyan teszik életünket érdemessé és egyszerűbbé.
Az Apple a közelmúltban kiadott egy kiegészítést a macOS Catalina 10.15.4-hez a problémák megoldására, de úgy tűnik, hogy a frissítés több problémát okoz, ami a Mac gépek blokkolásához vezet. További információért olvassa el ezt a cikket