Dies ist ein einfacher Webserver, der in Plain Erlang geschrieben wurde.
Erlang/OTP 23 muss diesen Server ausführen. Erlang/OTP 24 wird reflektiert.
Der beste Weg, um das Programm zu debuggen, besteht darin, nur zu folgen:
$ cd src/
$ erlc *.erl && erl; rm -rf ./*.beam # This will rebuild everything from scratch, so there would be no problems with cached files
...
Eshell V11.2 (abort with ^G)
1> server:start().
Vergessen Sie vor der Verwendung dieses Ansatzes nicht, Konfigurationsdateien zu erstellen:
$ cp -r configs/ /etc/MeowMeow/ # Porbably you will need root(i.e. sudo)
Kompilieren Sie mit Rebar3:
$ rebar3 as prod release
Dann müssen Sie Konfigurationen in /etc/MeowMeow/ erstellen. Danach können Sie Server ausführen:
$ ./_build/prod/rel/MeowMeow/bin/MeowMeow <desired mode of running>
Wenn Sie Hilfe beim Ausführen von Modi benötigen, um Skript ohne Argumente auszuführen, um Hilfe zu erhalten.
Setzen Sie Ihre Dateien in /var/www/ verzeichnis. Sie werden statisch bedient. Derzeit sind FASTCGI -Unterstützung für die Servieren von Dateien verfügbar, die nicht statisch sind.
Wichtiger Hinweis: In aktuellen Versionssyntaxfehlern in der Konfiguration werden nicht überprüft, sodass eine Missverständnis zu tödlichen Fehlern führen kann.
Die Serverkonfiguration wird in /etc/MeowMeow/meow.conf gespeichert. Die Syntax ist wie folgt:
Directive1 Args
Directive2 Args
Aktuelle Versionsunterstützung nach Anweisungen:
LogLevel <<LEVEL>> Die Protokollierungsstufe von 0 bis 4 festlegen (0 - Nichts, 4 - Alles protokollieren)KeepAlive <<MS>> Standardverbindung Keep-Alive-Zeit in MillisekundenListenPort <<PORT>> Port, wo Sie auf Verbindungen hören könnenListenHost <<HOSTNAME/IP>> Hostname zum AnhörenDocDir <<DIRECTORY>> Verzeichnis mit Dateien zu dienen Um Routen zu konfigurieren, müssen Sie /etc/MeowMeow/routes.conf bearbeiten. Die Syntax ist wie folgt:
Route <wildcard pattern>
Directive1 Args
Directive2 Args
Host <wildcard pattern>
Directive3 Args
End
End
Route definiert das Muster von Anforderungspfaden, für die Richtlinien angewendet würden. Zusätzlich können Richtlinien mit Host -Header angewendet werden (wie in einem Beispiel oben). Die Anweisungen werden in der Reihenfolge angewendet, da sie in der Konfigurationsdatei hinzugefügt wurden. Die derzeit vom Server unterstützten Richtlinien:
Abort <<CODE>> - Bearbeiten Sie die Anforderung an und senden Sie HTTP/1.1 Statuscode <<CODE>> an den ClientNo-Content - sendet HTTP/1.1 204 No Content an den ClientDisallow - sendet HTTP/1.1 403 Forbidden an den KundenSet-Header <<HEADER>> <<VALUE>> - Legt die Antwort Header <<HEADER>> zu <<VALUE>> festExecFCGI <<FILE>> <<FCGI_HOST>> <<FCGI_PORT>> <<FCGI_TIMEOUT>> - fragt Fastcgi, die auf <<FCGI_HOST>>:<<FCGI_PORT>> ausführen <<FILE>> mit Timeout von <<FCGI_TIMEOUT>> ms ausgeführt wird.Set-Code <<CODE>> Legt den Statuscode für eine Antwort fest.Send-File <<PATH>> sendet die Datei als Antwort.Sie können hier ein Beispiel für die Konfiguration von Routing -Regeln sehen
src/erl_fastcgi.erl ): Die in einigen Dateien in src/ Directory definierten Code -Urheberrechnung sind keine Rechtsberatung und sind nur für den internen Gebrauch gezwungen. Der gesamte Code, außer im Abschnitt Credits erwähnt, ist unter der MIT -Lizenz lizenziert (weitere Informationen finden Sie unter Lizenz)