So installieren Sie MODX Revolution auf einem CentOS 7 LAMP VPS
Verwenden Sie ein anderes System? MODX Revolution ist ein schnelles, flexibles, skalierbares, kostenloses und Open-Source-Content-Management-System (CMS) für Unternehmen, das i
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 .
Verwenden Sie ein anderes System? MODX Revolution ist ein schnelles, flexibles, skalierbares, kostenloses und Open-Source-Content-Management-System (CMS) für Unternehmen, das i
McMyAdmin ist ein Minecraft-Server-Kontrollfeld, mit dem Sie Ihren Server verwalten können. Obwohl McMyAdmin kostenlos ist, gibt es mehrere Editionen, von denen einige pai sind
TeamTalk ist ein Konferenzsystem, mit dem Benutzer hochwertige Audio- / Videogespräche führen, Text chatten, Dateien übertragen und Bildschirme freigeben können. Es i
Verwenden Sie ein anderes System? Einführung CyberPanel ist eines der ersten Control Panels auf dem Markt, das sowohl Open Source als auch OpenLiteSpeed verwendet. Was ist das?
PhpBB ist ein Open Source Bulletin Board Programm. Dieser Artikel zeigt Ihnen, wie Sie phpBB auf einem Apache-Webserver unter Ubuntu 16.04 installieren. Es wurde geschrieben
Es kann gefährlich sein, nur einen Benutzer zu haben, nämlich root. Lassen Sie uns das beheben. Vultr bietet uns die Freiheit, mit unseren Benutzern und unseren Servern zu tun, was wir wollen
Verwenden Sie ein anderes System? ESpeak kann TTS-Audiodateien (Text-to-Speech) generieren. Diese können aus vielen Gründen nützlich sein, z. B. um Ihr eigenes Turin zu erstellen
Verwenden Sie ein anderes System? Thelia ist ein Open-Source-Tool zum Erstellen von E-Business-Websites und zum Verwalten von Online-Inhalten, die in PHP geschrieben wurden. Thelia Quellcode i
Verwenden Sie ein anderes System? Fuel CMS ist ein CodeIgniter-basiertes Content-Management-System. Der Quellcode wird auf GitHub gehostet. Diese Anleitung zeigt Ihnen, wie t
Dieses Tutorial führt Sie durch die Installation des Yunohost Complete Server-Kontrollfelds unter Debian. Folgen Sie einfach dem Tutorial und Ihr Server wird in Betrieb sein
Cockpit ist ein kostenloses Open Source-Programm für die Linux-Serververwaltung. Es ist sehr leicht und hat eine schöne, einfach zu bedienende Weboberfläche. Es erlaubt System
Gollum ist die Git-basierte Wiki-Software, die als Backend des GitHub-Wikis verwendet wird. Durch die Bereitstellung von Gollum können Sie ein GitHub-ähnliches Wiki-System auf Ihnen hosten
Einführung Haben Sie Probleme mit der Konnektivität, wenn Besucher aus anderen Ländern auf Ihre Website zugreifen? Ich frage mich, warum die Download-Geschwindigkeit von Ihrem Foreig
Verwenden Sie ein anderes System? Gitea ist ein alternatives Open-Source-Versionskontrollsystem, das von Git unterstützt wird. Gitea ist in Golang geschrieben und ist
Verwenden Sie ein anderes System? Ghost ist eine Open-Source-Blogging-Plattform, die seit 201 bei Entwicklern und normalen Benutzern immer beliebter wird
Verwenden Sie ein anderes System? Paste 2.1 ist eine einfache und flexible, kostenlose und Open-Source-Pastebin-Anwendung zum Speichern von Code, Text und mehr. Es war ursprünglich
Pip ist ein Tool zum Verwalten von Python-Paketen. Die Verwendung eines Paketmanagers ermöglicht eine effiziente Verwaltung Ihres Servers. In diesem Tutorial erkläre ich, wie t
BBR (Bottleneck Bandwidth and RTT) ist ein neuer Algorithmus zur Überlastungskontrolle, der von Google zum Linux-Kernel-TCP-Stack hinzugefügt wird. Mit BBR an Ort und Stelle,
YOURLS (Your Own URL Shortener) ist eine Open-Source-Anwendung zur URL-Verkürzung und Datenanalyse. In diesem Artikel werden wir den Installationsprozess behandeln
Verwenden Sie ein anderes System? TLS 1.3 ist eine Version des TLS-Protokolls (Transport Layer Security), das 2018 als vorgeschlagener Standard in RFC 8446 veröffentlicht wurde
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.