Este es un servidor web simple escrito en Plain Erlang.
Se requiere que Erlang/OTP 23 ejecute este servidor. Erlang/OTP 24 se recomienda.
La mejor manera de depurar el programa es hacer lo siguiente:
$ 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().
Antes de usar este enfoque, no olvide crear archivos de configuración:
$ cp -r configs/ /etc/MeowMeow/ # Porbably you will need root(i.e. sudo)
Compilar usando barras3:
$ rebar3 as prod release
Luego necesita crear configuraciones en /etc/MeowMeow/ . Después de esto, puede ejecutar el servidor:
$ ./_build/prod/rel/MeowMeow/bin/MeowMeow <desired mode of running>
Si necesita ayuda en los modos de ejecutar solo ejecutar script sin argumentos para obtener ayuda.
Coloque sus archivos en /var/www/ directorio, se servirán estáticamente. Actualmente, el soporte FastCGI disponible para servir archivos no es estático.
Aviso importante: en la versión actual, los errores de sintaxis en la configuración no se verifican, por lo que la configuración errónea puede conducir a errores fatales.
La configuración del servidor se almacena en /etc/MeowMeow/meow.conf . La sintaxis es la siguiente:
Directive1 Args
Directive2 Args
Soporte de versión actual siguiendo las directivas:
LogLevel <<LEVEL>> Establecer el nivel de registro de 0 a 4 (0 - no registrar nada, 4 - registrar todo)KeepAlive <<MS>> Conexión predeterminada Mantenga el tiempo de alas en milisegundosListenPort <<PORT>> puerto donde escuchar las conexionesListenHost <<HOSTNAME/IP>> nombre de host para escuchar enDocDir <<DIRECTORY>> Directorio con archivos para servir Para configurar rutas, debe editar /etc/MeowMeow/routes.conf . La sintaxis es la siguiente:
Route <wildcard pattern>
Directive1 Args
Directive2 Args
Host <wildcard pattern>
Directive3 Args
End
End
Route define el patrón de rutas de solicitud para las que se aplicarían las directivas. Además, las directivas se pueden aplicar mediante el encabezado Host (como en un ejemplo anterior). Las directivas se aplican en orden como se agregaron en el archivo de configuración. Las directivas actualmente compatibles con el servidor:
Abort <<CODE>> - Deje de procesar la solicitud y envíe el código de estado HTTP/1.1 <<CODE>> al clienteNo-Content : envía HTTP/1.1 204 No Content al clienteDisallow : envía HTTP/1.1 403 Forbidden al clienteSet-Header <<HEADER>> <<VALUE>> - establece encabezado de respuesta <<HEADER>> a <<VALUE>>ExecFCGI <<FILE>> <<FCGI_HOST>> <<FCGI_PORT>> <<FCGI_TIMEOUT>> - pide fastcgi que se ejecute en <<FCGI_HOST>>:<<FCGI_PORT>> para ejecutar <<FILE>> con tiempo de espera de <<FCGI_TIMEOUT>> msSet-Code <<CODE>> Establece el código de estado para una respuesta.Send-File <<PATH>> Envía el archivo como respuesta.Puede ver un ejemplo de configuración de reglas de enrutamiento aquí
src/erl_fastcgi.erl ): Los derechos de autor de código definidos en algunos de los archivos en src/ Directorio no son asesoramiento legal y para uso interno solamente. Todo el Código, excepto el mencionado en la sección de créditos , tiene licencia bajo la licencia MIT (consulte la licencia para obtener más información)