이것은 일반 Erlang으로 작성된 간단한 웹 서버입니다.
이 서버를 실행하려면 Erlang/OTP 23 필요합니다. Erlang/OTP 24 권장됩니다.
프로그램을 디버깅하는 가장 좋은 방법은 다음과 같이 수행하는 것입니다.
$ 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까지 로깅 레벨 설정KeepAlive <<MS>> 기본 연결 유지 시간은 밀리 초입니다ListenPort <<PORT>> 포트 연결을 듣는 위치ListenHost <<HOSTNAME/IP>> hostname을 듣습니다DocDir <<DIRECTORY>> 서빙 할 파일이있는 디렉토리 경로를 구성하려면 /etc/MeowMeow/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 ForbiddenSet-Header <<HEADER>> <<VALUE>> - 응답 헤더 설정 <<HEADER>> to <<VALUE>>ExecFCGI <<FILE>> <<FCGI_HOST>> <<FCGI_PORT>> <<FCGI_TIMEOUT>> : <<FCGI_HOST>>:<<FCGI_PORT>> 에서 실행하는 FastCGI를 요청하십시오 <<FCGI_TIMEOUT>> <<FILE>> 를 실행하도록 요청Set-Code <<CODE>> 응답에 대한 상태 코드를 설정합니다.Send-File <<PATH>> 파일을 응답으로 보냅니다.여기에서 라우팅 규칙 구성의 예를 볼 수 있습니다.
src/erl_fastcgi.erl ) : src/ 디렉토리의 일부 파일에 정의 된 코드 저작권은 법적 조언이 아니며 내부 용도로만 목적이 있습니다. 크레딧 섹션에 언급 된 모든 코드는 MIT 라이센스에 따라 라이센스가 부여됩니다 (자세한 내용은 라이센스 참조)