Kann KI mit zunehmender Anzahl von Ransomware-Angriffen kämpfen?
Ransomware-Angriffe nehmen zu, aber kann KI helfen, den neuesten Computervirus zu bekämpfen? Ist KI die Antwort? Lesen Sie hier, ob KI boone oder bane ist
In diesem Tutorial erfahren Sie, wie Sie unter Ubuntu 16.04 LTS eine vollständige RESTful-API einrichten, die HTTP-Anforderungen mit Node.js und Express beim Reverse-Proxy mit NGINX bedient. Wir werden eine Anwendung namens Postman verwenden, ein sehr bekanntes API-Entwicklungstool, um unsere API zu testen und sicherzustellen, dass sie voll funktionsfähig ist und ordnungsgemäß funktioniert. Node.js ist ein schnelles, plattformübergreifendes JavaScript-Framework, das auf der V8-Engine von Chrome basiert. Es wird sowohl in Desktop- als auch in Serveranwendungen verwendet und ist bekannt für seine Single-Threaded-Ereignisschleifenbehandlung. Wir werden Node.js als Backend für unsere RESTful-API verwenden, die mit Express.js, unserem für Node.js erstellten Webanwendungsframework, gebündelt ist. Express.js wird als freie und offene Software veröffentlicht. Express ist serverseitig, in JavaScript geschrieben und wurde zum Erstellen von APIs entwickelt, was es perfekt für unser Projekt macht. Auf der anderen Seite ist Postman ein sehr leistungsfähiger HTTP-Client, der die API-Entwicklung im Auge hat. Es enthält alle Tools, die Sie möglicherweise für die API-Entwicklung benötigen.
Zunächst möchten Sie die Website von Postman aufrufen und Postman für Ihren Haupt-PC herunterladen und installieren (nicht für Ihren Server). Alle Installationsanweisungen finden Sie auf ihrer Website.
Zunächst müssen wir Node.js installieren, damit wir mit der Entwicklung unserer API beginnen können. Wir werden Node.js von der offiziellen Website herunterladen und installieren.
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs
Darüber hinaus möchten Sie auch die erforderlichen Build-Tools herunterladen, die beim Kompilieren von Modulen hilfreich sind.
sudo apt-get install build-essential
Für dieses Tutorial verwenden wir die LTS-Version von Node.js, Version 8.9.3.
Wir müssen ein neues Node.js-Projekt initialisieren, das eine Anwendung enthält. Erstellen Sie dazu ein neues Verzeichnis.
mkdir expressapi
Wechseln Sie in das neue Verzeichnis. Sobald Sie drinnen sind, führen Sie npm init
alle erforderlichen Eingabeaufforderungen aus und führen Sie sie aus. Beachten Sie den "Einstiegspunkt" Ihrer Anwendung: Sie werden diese Datei später erstellen. Sobald Sie fertig sind, sehen Sie eine package.json
Datei in Ihrem aktuellen Verzeichnis. Es dient als Beschreibung unseres Projekts und listet alle Abhängigkeiten auf, die für das Funktionieren erforderlich sind.
Jetzt werden wir Express.js und seine Abhängigkeiten konfigurieren.
npm install express
Der Installationsvorgang beginnt. Es dauert einige Minuten, bis der Download abgeschlossen ist.
Als nächstes erstellen wir unsere Hauptstartdatei für unsere API. Hier verwenden Sie den "Einstiegspunkt", den Sie in der package.json
Datei gesehen haben. Für dieses Tutorial werde ich das Standard-Namensschema verwenden index.js
.
touch index.js
Öffnen Sie es dann im Nano-Texteditor.
nano index.js
In unserer Hauptdatei möchten wir zuerst alle unsere Hauptpakete aufrufen und unsere Routen registrieren.
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);
Grundsätzlich initialisieren wir hier unsere App und richten einen Basis-Router für unsere API ein. Beachten Sie, dass wir den Port unserer Anwendung auf setzen 8080
. Wir benötigen diese Nummer, wenn wir unsere RESTful-API konfigurieren. Jetzt können wir unsere API testen.
Führen Sie im Projektverzeichnis Folgendes aus.
node <filename>.js
Dadurch wird die API gestartet. Dabei <filename>
handelt es sich um die Startdatei, die Sie in der package.json
Datei angegeben haben. Öffnen Sie dann Postman auf Ihrem PC / Mac und klicken Sie auf die New
Schaltfläche " " in der oberen rechten Ecke. Klicken Sie dann auf " Request
". Dort sollte eine Leiste mit der Aufschrift " GET
" angezeigt werden. Hier geben wir unsere Anfrage-URL ein. Geben Sie einfach Folgendes in den Abschnitt "Anforderungs-URL" ein und klicken Sie auf " Send
".
`http://your-server-ip:3000/api`
Sie werden " 'API is online'
" sehen.
Für die Bearbeitung von Routen verwenden wir den Express-Router. Wenn Sie nicht wissen, was ein Router ist, reagieren Anwendungsendpunkte im Wesentlichen auf Clientanforderungen. Hier sind die Routen, die wir als Beispiel einrichten werden:
/api/numbers
- Zeigt alle Zahlen von 1-10 an.
/api/letters
- Zeigt alle Buchstaben von AZ an.
Jetzt werden wir so unsere Middleware-Struktur für die erste Route einrichten.
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})
});
In diesem Beispiel haben wir eine Situation eingerichtet, in der ein Benutzer die Summe einer Zahl + 1 anfordern kann, indem er die Wortform mit der GET-Methode angibt. Wir verwenden die router.route()
Funktion, um zu zeigen, welche Nummer wir als Ergebnis zurücksenden möchten. Parameter werden mit einem " :
" vor ihnen benannt. Wir greifen über auf diese Parameter zu req.params
.
Hier ist ein Beispiel mit Buchstaben.
router.route('/letters/:letter').get((req, res) => {
res.json({result: req.params.letter.toUpperCase()})
});
Wir verwenden die gleiche Methode wie oben, senden den Brief jedoch in Großbuchstaben zurück.
NGINX ist eine bekannte Open-Source-Software, die für Web-Serving, Reverse-Proxys, Streaming und mehr verwendet wird. Wir werden NGINX verwenden, um den Proxy unserer API umzukehren, damit wir sie auf dem Port ausführen können 80
, da Node.js keine Verbindungen auf Ports unter 1024 ohne Root-Zugriff zulässt. Dies kann nützlich sein, wenn Sie Ihre Domain mit Ihrem Server verknüpfen.
Um mit der Installation von NGINX zu beginnen, müssen Sie Folgendes in Ihrem Terminal ausführen und warten, bis die Installation abgeschlossen ist.
sudo apt-get install nginx
Als Nächstes möchten wir unsere Site-Datei erstellen, die NGINX verwendet, um den Proxy unserer App umzukehren.
sudo nano /etc/nginx/sites-available-api.js
Füllen Sie die Datei wie folgt aus und dann CTRL+ O, um sie zu speichern.
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;
}
}
Mit demselben Port, auf dem wir unsere Anwendung zuvor ausgeführt haben, weisen wir Nginx an, alle Anforderungen von unserer IP-Adresse am Port 80
an unsere API am Port umzuleiten 8080
.
Aktivieren Sie als Nächstes den Reverse-Proxy, indem Sie unsere neu erstellte Datei mit dem sites-available
Ordner verknüpfen :
sudo ln -s /etc/nginx/sites-available/api /etc/nginx/sites-available
Dadurch wird sichergestellt, dass NGINX den Proxy unserer API umkehrt.
Sobald wir unsere NGINX-Konfiguration abgeschlossen haben, starten wir NGINX und starten dann unsere API. Starten Sie zuerst NGINX neu.
sudo systemctl restart nginx
Wechseln Sie dann zurück in Ihr API-Verzeichnis und starten Sie es.
node <filename>.js
Die Anwendung wird am Port ausgeführt 80
. Führen Sie den Test einfach von oben mit Postman durch, um sicherzustellen, dass alles ordnungsgemäß funktioniert.
In einer Produktionsumgebung möchten Sie sicherstellen, dass Sie einen Prozessmanager für Ihre Knotenanwendungen haben, um sicherzustellen, dass diese für immer im Hintergrund ausgeführt werden. In diesem Tutorial verwenden wir einen Prozessmanager namens PM2 (Process Manager 2), einen Prozessmanager für Node.js-Anwendungen, der sie mit minimalen Ausfallzeiten für immer am Leben hält. PM2 enthält viele nützliche Verwaltungstools wie Stoppen, Neuladen, Anhalten und mehr. Geben Sie zur Installation von PM2 Folgendes ein und warten Sie, bis es installiert ist.
sudo npm install pm2 -g
Nach der Installation müssen Sie lediglich sicherstellen, dass Sie sich im Projektverzeichnis befinden. Geben Sie Folgendes ein, und die Anwendung wird gestartet.
pm2 start <filename>.js
Wie bereits erwähnt, verfügt PM2 über einige nützliche Tools, mit denen Sie Ihre Anwendung besser verwalten können.
pm2 stop
- Wie der Name schon sagt, können Sie auf diese Weise die aktuell ausgeführte Anwendung stoppen und ihren Prozess beenden. Wenn Ihre Anwendung ein unerwartetes Ergebnis liefert, ist es praktisch, sie zu stoppen.
pm2 list
- Mit der Listenfunktion können Sie alle aktuell ausgeführten Anwendungen über PM2 anzeigen, die ihren Namen zugeordnet sind. Wenn Sie die Verfügbarkeit Ihrer Anwendung schnell überprüfen müssen, sollten Sie dieses Tool verwenden.
pm2 restart
- Wenn Ihre Anwendung aus irgendeinem Grund einfriert und Sie sie neu laden möchten, führt pm2 restart genau das aus. Der Bewerbungsprozess wird abgebrochen und unter einem anderen Prozess erneut gestartet.
pm2 monit
- Mit dem in PM2 integrierten Monitor-Tool können Sie ein Diagramm der spezifischen Details Ihrer Anwendung, z. B. der CPU- / RAM-Auslastung, in einem benutzerfreundlichen Diagramm im ncurses-Stil anzeigen. Dies ist nützlich, wenn Sie ein visuelles Bild der Auslastung Ihrer Anwendung wünschen.
Wir haben jetzt unsere Aufgabe abgeschlossen, eine RESTful-API mit Node.js, Express und Reverse-Proxy mit NGINX zu erstellen. Fühlen Sie sich frei, dieses Tutorial zu erweitern. Mit Ihrer neuen API können Sie viele großartige Dinge tun, z. B. Authentifizierungsmethoden hinzufügen, eine Datenbank, eine bessere Routen- und Fehlerbehandlung und vieles mehr. Wenn Sie eine Domain haben, für die bereits ein "A" -Datensatz für Ihre IP-Adresse eingerichtet ist, können Sie von Ihrer Domain aus auf Ihre API zugreifen. Wenn Sie mehr über Express.js erfahren möchten, besuchen Sie die Website unter http://expressjs.com . Weitere Informationen zu NGINX und Reverse Proxy finden Sie unter http://nginx.com . Um mehr über PM2 zu erfahren, besuchen Sie die Seite unter http://pm2.keymetrics.io .
Ransomware-Angriffe nehmen zu, aber kann KI helfen, den neuesten Computervirus zu bekämpfen? Ist KI die Antwort? Lesen Sie hier, ob KI boone oder bane ist
ReactOS, ein quelloffenes und kostenloses Betriebssystem, ist hier mit der neuesten Version. Kann es den Anforderungen moderner Windows-Benutzer genügen und Microsoft zu Fall bringen? Lassen Sie uns mehr über dieses alte, aber neuere Betriebssystem erfahren.
Whatsapp hat endlich die Desktop-App für Mac- und Windows-Benutzer auf den Markt gebracht. Jetzt können Sie ganz einfach von Windows oder Mac auf WhatsApp zugreifen. Verfügbar für Windows 8+ und Mac OS 10.9+
Lesen Sie dies, um zu erfahren, wie Künstliche Intelligenz bei kleinen Unternehmen beliebt wird und wie sie die Wahrscheinlichkeit erhöht, sie wachsen zu lassen und ihren Konkurrenten einen Vorsprung zu verschaffen.
Vor kurzem hat Apple macOS Catalina 10.15.4 als Ergänzungsupdate veröffentlicht, um Probleme zu beheben, aber es scheint, dass das Update mehr Probleme verursacht, die zum Bricking von Mac-Computern führen. Lesen Sie diesen Artikel, um mehr zu erfahren
13 Tools zur kommerziellen Datenextraktion von Big Data
Unser Computer speichert alle Daten in einer organisierten Weise, die als Journaling-Dateisystem bekannt ist. Es ist eine effiziente Methode, die es dem Computer ermöglicht, Dateien zu suchen und anzuzeigen, sobald Sie auf die Suche klicken.https://wethegeek.com/?p=94116&preview=true
Da sich die Wissenschaft schnell weiterentwickelt und einen Großteil unserer Bemühungen übernimmt, steigt auch das Risiko, uns einer unerklärlichen Singularität auszusetzen. Lesen Sie, was Singularität für uns bedeuten könnte.
Ein Einblick in 26 Big-Data-Analysetechniken: Teil 1
KI im Gesundheitswesen hat in den letzten Jahrzehnten große Fortschritte gemacht. Somit wächst die Zukunft der KI im Gesundheitswesen immer noch von Tag zu Tag.