Dieser Artikel beschreibt, wie Sie MetaGer in einem Web-Server aufsetzen können.
MetaGer auf dem Server installieren
Zunächst müssen natürlich alle notwendigen Dateien auf dem Server installiert und eingerichtet werden.
Befolge bitte hierfür die Anweisungen in diesem Artikel.
Apache installieren und konfigurieren
- Verlinke in der Apache Konfiguration das DocumentRoot auf %ProjectDir%/public/html
- In der Directory Definition für dieses Verzeichnis "AllowOverride all" setzen
Achtung: /public/google5226881b42059cc5.html
Diese Datei gibt uns Zugriff auf die Webmaster-tools der entsprechenden Seite. Wenn Sie eine MetaGer-Instanz betreiben möchten, empfehlen wir, diese Datei zu entfernen.
Laravel Worker definieren
Wir verwenden die von Laravel zur Verfügung gestellten Worker um die Abfragen an die Suchdienste parallel abarbeiten zu können.
Ihr könnt entweder einzelne Worker starten:
php artisan queue:listen
bzw php artisan queue:work --sleep=1 --tries=1 --daemon
als daemon
Oder ihr installiert euch supervisor ( wie hier beschrieben), um dafür zu sorgen, dass viele Worker-Prozesse am laufen gehalten werden.
Wie viele Prozesse ihr benötigt, hängt dabei von eurem Traffic ab.
Bitte beachte auch, dass ihr noch einen Treiber für eure Queue definieren und konigurieren müsst.
Wir benutzen zum Beispiel Redis und haben in der Datei ~/MetaGer/.env
den Parameter QUEUE_DRIVER=redis
gesetzt.
Mehr Informationen zum System der Queues findet ihr hier.
Achtung: Beim parallel Betrieb ist unbedingt darauf zu achten, dass mindestens so viele Worker Prozesse, wie abgefragte Suchdienste laufen, da jeder Worker nur einen Suchdienst abfragt, um die Verbindung so lange wieder zu verwenden, wie der Server Keep-Alive Requests akzeptiert. Dies hält Verbindungszeiten und SSL-Handshakes minimal.