Il s'agit d'un serveur Web simple écrit en Erlang ordinaire.
Erlang/OTP 23 est nécessaire pour exécuter ce serveur. Erlang/OTP 24 est recommandé.
La meilleure façon de déboguer le programme est juste de faire comme suit:
$ 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().
Avant d'utiliser cette approche, n'oubliez pas de créer des fichiers de configuration:
$ cp -r configs/ /etc/MeowMeow/ # Porbably you will need root(i.e. sudo)
Compiler à l'aide de la rediffusion3:
$ rebar3 as prod release
Ensuite, vous devez créer des configts dans /etc/MeowMeow/ . Après cela, vous pouvez exécuter le serveur:
$ ./_build/prod/rel/MeowMeow/bin/MeowMeow <desired mode of running>
Si vous avez besoin d'aide sur les modes d'exécution, exécutez simplement le script sans arguments pour obtenir de l'aide.
Mettez vos fichiers dans /var/www/ répertoire, ils seront servis statiques. Actuellement, la prise en charge FastCGI disponible pour les fichiers qui ne sont pas statiques.
Avis important: dans la version actuelle, les erreurs de syntaxe dans la configuration ne sont pas vérifiées, donc la mauvaise configuration peut entraîner des erreurs fatales.
La configuration du serveur est stockée dans /etc/MeowMeow/meow.conf . La syntaxe est la suivante:
Directive1 Args
Directive2 Args
Prise en charge actuelle des versions suivantes: Directives:
LogLevel <<LEVEL>> Définissez le niveau de journalisation de 0 à 4 (0 - Nothing Nothing, 4 - Tout enregistrer)KeepAlive <<MS>> Connexion par défaut Temps de maintien en volonté en millisecondesListenPort <<PORT>> port où écouter les connexionsListenHost <<HOSTNAME/IP>> nom d'hôte pour écouterDocDir <<DIRECTORY>> répertoire avec fichiers à servir Pour configurer les itinéraires, vous devez modifier /etc/MeowMeow/routes.conf . La syntaxe est la suivante:
Route <wildcard pattern>
Directive1 Args
Directive2 Args
Host <wildcard pattern>
Directive3 Args
End
End
Route définit le modèle de chemins de demande pour lesquels les directives seraient appliquées. De plus, les directives peuvent être appliquées par l'en-tête Host (comme dans un exemple ci-dessus). Les directives sont appliquées dans l'ordre telles qu'elles ont ajouté dans le fichier de configuration. Les directives actuellement prises en charge par le serveur:
Abort <<CODE>> - Arrêtez le traitement de la demande et envoyez le code d'état HTTP / 1.1 <<CODE>> au clientNo-Content - envoie HTTP/1.1 204 No Content au clientDisallow - Envoie HTTP/1.1 403 Forbidden au clientSet-Header <<HEADER>> <<VALUE>> - Définit l'en-tête de réponse <<HEADER>> à <<VALUE>>ExecFCGI <<FILE>> <<FCGI_HOST>> <<FCGI_PORT>> <<FCGI_TIMEOUT>> - demande à Fastcgi en cours d'exécution <<FCGI_HOST>>:<<FCGI_PORT>> ms pour exécuter <<FILE>> avec le timeout de <<FCGI_TIMEOUT>>Set-Code <<CODE>> Définit le code d'état pour une réponse.Send-File <<PATH>> Envoie le fichier en réponse.Vous pouvez voir un exemple de configuration de règles de routage ici
src/erl_fastcgi.erl ): Les droits d'auteur du code défini dans certains fichiers de src/ Directory ne sont pas des conseils juridiques et destinés à un usage interne uniquement. Tout le code, sauf mentionné dans la section des crédits , est autorisé sous licence MIT (voir Licence pour plus d'informations)