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 lernen wir, wie Sie eine Koa.js-Webanwendung für die Produktion unter Verwendung von Node.js einrichten. Wir werden auch eine Beispieldomäne mit einem Reverse-Proxy unter Verwendung von Apache verknüpfen und lernen, wie man sie mit einem geeigneten Prozessmanager verwaltet. Lassen Sie uns ohne weiteres loslegen.
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. Node.js verfügt über eine Paketregistrierung namens Node Package Manager (NPM), die über eine halbe Million Pakete hostet. NPM-Pakete (oder Module) sind das Kern-Backbone von Node.js, da es sich um Community-gesteuerten Code handelt, der in Ihrer Node.js-Anwendung nützlich sein kann. In unserer Koa.js-App ist Node.js der Kern seiner Funktion.
Koa.js ist ein minimalistisches Webframework, das auf der Node.js-Plattform basiert. Ziel des gleichen Teams, das hinter dem beliebten Express.js-Framework steht, ist es, das bereits minimalistische Express.js-Framework weiter zu minimieren, indem Middleware aus seinem Kern ausgeschlossen wird. Ein Hauptmerkmal von Koa.js ist die Tatsache, dass es keine Rückrufe gibt. Koa.js basiert auf ES6-basierten Generatoren und ES6-Funktionen wie Promises.
Apache ist ein beliebter Open-Source-Webserver, der als grundlegender Ausgangspunkt für Webserver verwendet wird. In diesem Tutorial verwenden wir Apache als Reverse-Proxy, mit dem wir unsere Anwendung mit einer Beispieldomäne verknüpfen können. Wenn Sie keine Domain haben, funktioniert dieses Tutorial weiterhin für Sie. Der einzige Unterschied besteht darin, dass die Website auf Ihrer VPS-IP anstelle einer Domain ausgeführt wird.
Wie bei jedem Node.js-Framework müssen Sie Node.js auf Ihrem VPS installieren. Für dieses Tutorial gehe ich davon aus, dass Sie Node.js bereits auf Ihrem System installiert haben. Wenn nicht, können Sie einfach den Anweisungen hier folgen .
Wir müssen einen Ordner erstellen, der die Kerndateien unserer Anwendung enthält.
mkdir site
Fühlen Sie sich frei, durch site
einen anderen Namen zu ersetzen, den Sie für das Verzeichnis möchten. Als nächstes müssen wir unsere Node.js-Paketdatei initialisieren. Wechseln Sie in das gerade erstellte Verzeichnis, führen Sie es aus und führen Sie npm init
die Eingabeaufforderungen aus. Am Ende sollte es ungefähr so aussehen:
{
"name": "site",
"version": "1.0.0",
"description": "Koa.js Site",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "yourname",
"license": "ISC"
}
Nachdem wir unser Verzeichnis eingerichtet haben, können wir mit der Installation von Koa.js fortfahren. Geben Sie im aktuellen Arbeitsverzeichnis /site
Folgendes ein.
npm install koa
Dadurch wird das Koa.js-Modul von NPM heruntergeladen und zur zukünftigen Verwendung in unserem Projektverzeichnis installiert. Als Nächstes erstellen wir unsere Beispielanwendungsdatei, die unseren App-Code enthält. Erstellen Sie dazu eine index.js
Datei.
nano index.js
Erstellen Sie in der Datei eine Beispielanwendung.
const Koa = require('koa');
const app = new Koa();
app.use(async ctx => {
ctx.body = 'Hello World';
});
app.listen(3000);
console.log('Website is live!')
Speichern und schließen Sie die Datei. CTRL+ X.
Wir werden sicherstellen wollen, dass unsere Anwendung ordnungsgemäß ausgeführt wird. Um es zu starten, führen node index.js
Sie es aus und Sie sehen es Website is live
in der Konsole.
Nachdem wir wissen, dass unsere Website funktionsfähig ist, können wir Apache und seine Abhängigkeiten installieren.
sudo apt install -y libapache2-mod-proxy-html libxml2-dev
Um die in Apache enthaltene Reverse-Proxy-Funktion verwenden zu können, müssen die erforderlichen Module aktiviert werden.
a2enmod proxy
a2enmod proxy_http
a2enmod proxy_ajp
a2enmod rewrite
a2enmod deflate
a2enmod headers
a2enmod proxy_balancer
a2enmod proxy_connect
a2enmod proxy_html
Einige dieser Module wurden möglicherweise bereits aktiviert, aber es ist immer gut, sie noch einmal zu überprüfen.
Jetzt müssen wir die Standardkonfigurationsdatei für Apache bearbeiten.
sudo nano /etc/apache2/sites-enabled/000-default.conf
Hier müssen wir einen Block für unsere Anwendung hinzufügen.
<VirtualHost *:*>
ProxyPreserveHost On
ProxyPass / http://0.0.0.0:3000/
ProxyPassReverse / http://0.0.0.0:3000
ServerName localhost
</VirtualHost>
Speichern Sie die Datei, CTRL+ X.
Möglicherweise stellen Sie fest, dass wir den Port 3000
als Port für unsere ProxyPass
und ProxyPassReverse
IP verwenden. Da es sich um denselben Port handelt, auf dem wir unsere Koa.js-Anwendung ausführen, müssen wir unbedingt den richtigen Port eingeben.
Sobald die Änderungen vorgenommen wurden, müssen wir Apache neu starten und unsere Koa.js-Anwendung neu starten.
sudo systemctl restart apache2
Dadurch wird sichergestellt, dass unsere Konfigurationsdatei aktiv und betriebsbereit ist, wenn wir unsere Koa.js-Anwendung starten. Navigieren Sie nach dem Neustart von Apache zurück zu Ihrem Site-Verzeichnis und starten Sie die Anwendung Koa.js wie zuvor. Navigieren Sie in Ihrem Webbrowser zu http://yourdomain
oder http://yourip:
, und Sie sehen "Hallo Welt".
Nachdem wir uns nun mit den Grundlagen der Erstellung einer Beispielanwendung für Koa.j befasst haben, stellen wir fest, dass es in einer Produktionsumgebung unpraktisch ist, die Anwendung so zu starten, wie wir sie jetzt sind. Ein Prozessmanager ist definitiv eine Voraussetzung. Hier kommt systemd ins Spiel. In einfachen Worten besteht systemd aus Software, die Bausteine für ein Linux-System bereitstellt. Ähnlich wie "init" bietet es ein System zum Verwalten von Benutzerprozessen nach dem Systemstart. Im Fall unserer Anwendung können wir mit systemd unsere Website nach dem Neustart des Systems automatisch starten, falls ein Ereignis auftritt, das die Systemverfügbarkeit stört. Es bietet auch eine Reihe von Tools, die bei der Verwaltung unserer Anwendung hilfreich sein können. Das Beste daran ist, dass es in Ubuntu 16.04 LTS integriert ist, sodass wir keine zusätzliche Software installieren müssen.
Alles, was wir zum Starten unserer Anwendung benötigen, wird in einer Datei namens aufgerufen service
. Es enthält Details zu unserer App, wie z. B. Name, Verzeichnis, Umgebung und mehr. Öffnen Sie zum Erstellen unserer Systemdatei einen Texteditor.
sudo nano /lib/systemd/system/site.service
Bearbeiten und speichern Sie die Datei wie folgt.
[Unit]
Description=desc here
Documentation=https://example.com
After=network.target
[Service]
Environment=NODE_PORT=3000
Type=simple
User=youruser
ExecStart=/usr/bin/node /home/[youruser]/site/index.js
Restart=on-failure
[Install]
WantedBy=multi-user.target
Ersetzen Sie youruser
durch den Benutzernamen Ihres Servers. Hier ein kurzer Überblick über die wichtigen Bereiche:
After
- Dies weist systemd an, zu warten, bis die Netzwerkschnittstelle bereit ist, bevor unsere Anwendung gestartet wird.Environment
- Hier können wir Umgebungsvariablen für unsere Anwendung angeben. Unser Node.js-Port ist einer von ihnen.Type
- Dies informiert systemd darüber, dass unsere App nur gestartet werden kann, ohne dass Benutzerrechte und dergleichen verloren gehen.User
- Dies teilt systemd mit, dass wir die Anwendung unter unserem Benutzerkonto ausführen möchten, was empfohlen wird. Das Ausführen von Anwendungen als Root-Benutzer kann zu vielen Sicherheitslücken führen.ExecStart
- Im Wesentlichen der Befehl, den systemd ausführt, um unsere Anwendung zu starten, ähnlich wie wir sie zuvor manuell gestartet haben.Restart
- Gibt systemd an, unter welchen Bedingungen unsere Anwendung neu gestartet werden soll. In diesem Fall möchten wir, dass unsere Website im Fehlerfall neu gestartet wird.Wir sind jetzt bereit, unseren systemd-Service zu starten.
sudo systemctl daemon-reload
Dies ist erforderlich, wenn sich eine systemd-Servicedatei ändert, damit systemd alle neu vorgenommenen Änderungen registriert.
Starten Sie dann Ihre Anwendung.
sudo systemctl start site
Navigieren Sie in Ihrem Browser erneut zu der Site, um zu überprüfen, ob alles funktioniert.
stop
- Stoppt die Anwendung vollständig.restart
- Stoppt die Anwendung und startet sie unter einem neuen Prozess erneut.enable
- Weist systemd an, die Anwendung zu starten, wenn Sie Ihren Computer starten.status
- Zeigt Informationen zur aktuell ausgeführten Anwendung an, z. B. Betriebszeit, Anwendungsstatus und mehr.Führen Sie die folgenden Schritte aus, um eine dieser Funktionen zu verwenden.
systemctl <function> site
Wir haben eine Koa.js-Anwendung erfolgreich eingerichtet und gelernt, wie man Proxy umkehrt und mit systemd verwaltet. Sie können jetzt Ihre Anwendung erweitern und auf diesem Beispiel aufbauen. Wenn Sie mehr über Koa.js und mehr Dinge erfahren möchten, die Sie damit tun können, besuchen Sie deren Website , um weitere hilfreiche Informationen zu erhalten. Wenn Sie mehr über den Prozessmanager von systemd erfahren möchten, lesen Sie hier die Dokumentation dazu . Wenn Sie mehr über den Reverse-Proxy von Apache erfahren möchten, können Sie diese hier nachlesen .
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.