Это простой веб -сервер, написанный в простом эрланге.
Erlang/OTP 23 необходим для запуска этого сервера. Erlang/OTP 24 Recommedled.
Лучший способ отладки программы - это просто сделать следующее:
$ 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().
Перед использованием этого подхода не забудьте создать файлы конфигурации:
$ cp -r configs/ /etc/MeowMeow/ # Porbably you will need root(i.e. sudo)
Скомпилируйте с помощью Rebar3:
$ rebar3 as prod release
Затем вам нужно создать конфигурации в /etc/MeowMeow/ . После этого вы можете запустить сервер:
$ ./_build/prod/rel/MeowMeow/bin/MeowMeow <desired mode of running>
Если вам нужна помощь в режимах запуска, просто выполните сценарий без аргументов, чтобы получить помощь.
Поместите свои файлы в /var/www/ каталог, они будут обслуживаться статически. В настоящее время поддержка FastCGI, доступная для обслуживания файлов, не статит.
Важное уведомление: в текущих ошибках синтаксиса версии в конфигурации не проверяются, поэтому неправильная конфигурация может привести к смертельным ошибкам.
Конфигурация сервера хранится в /etc/MeowMeow/meow.conf . Синтаксис выглядит следующим образом:
Directive1 Args
Directive2 Args
Поддержка текущей версии следующие директивы:
LogLevel <<LEVEL>> Установите уровень регистрации от 0 до 4 (0 - журнал ничего, 4 - журнал все)KeepAlive <<MS>> Соединение по умолчанию ВРЕМЯ ВРЕМЕНИ В МИЛЛИСКОНДИListenPort <<PORT>> Порт, где слушать подключенияListenHost <<HOSTNAME/IP>> имя хоста, чтобы прослушатьDocDir <<DIRECTORY>> каталог с файлами для обслуживания Для настройки маршрутов вам необходимо редактировать /etc/MeowMeow/routes.conf routes.conf. Синтаксис выглядит следующим образом:
Route <wildcard pattern>
Directive1 Args
Directive2 Args
Host <wildcard pattern>
Directive3 Args
End
End
Route определяет шаблон пути запроса, для которых будут применяться директивы. Дополнительно директивы могут быть применены заголовком Host (как в примере выше). Директивы применяются по порядку, как они добавляют в файл конфигурации. Директивы в настоящее время поддерживаются сервером:
Abort <<CODE>> - Прекратите запрос на обработку и отправьте HTTP/1.1 Код состояния <<CODE>> КлиентуNo-Content - отправляет HTTP/1.1 204 No Content клиентуDisallow - отправляет HTTP/1.1 403 Forbidden клиентуSet-Header <<HEADER>> <<VALUE>> - Устанавливает заголовок ответа <<HEADER>> to <<VALUE>>ExecFCGI <<FILE>> <<FCGI_HOST>> <<FCGI_PORT>> <<FCGI_TIMEOUT>> - спрашивает Fastcgi, работающий на <<FCGI_HOST>>:<<FCGI_PORT>> выполнить <<FILE>> с временем <<FCGI_TIMEOUT>>Set-Code <<CODE>> Устанавливает код состояния для ответа.Send-File <<PATH>> Отправляет файл в качестве ответа.Вы можете увидеть пример конфигурации правил маршрутизации здесь
src/erl_fastcgi.erl ): Кодовые Copyrightings, определенные в некоторых файлах в src/ Directory, не являются юридической консультацией и не являются целенаправленными только для внутреннего использования. Весь код, за исключением упомянутого в разделе «Кредиты» , лицензирован по лицензии MIT (для получения дополнительной информации см. Лицензию).