これは、PlainErlangで書かれた単純なWebサーバーです。
このサーバーを実行するには、 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に設定します(0-何もログ、4-すべてをログ)KeepAlive <<MS>>デフォルト接続は、ミリ秒単位でキープアリブ時間を保持しますListenPort <<PORT>>ポート接続を聞く場所ListenHost <<HOSTNAME/IP>> hostNameを聞く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>>から<<VALUE>>ExecFCGI <<FILE>> <<FCGI_HOST>> <<FCGI_PORT>> <<FCGI_TIMEOUT>> <<FCGI_HOST>>:<<FCGI_PORT>>で実行されているfastcgiを尋ねます<<FCGI_TIMEOUT>> ms <<FILE>>Set-Code <<CODE>>応答のステータスコードを設定します。Send-File <<PATH>>ファイルを応答として送信します。ルーティングルールの構成の例をここで見ることができます
src/erl_fastcgi.erl ):src/ディレクトリの一部のファイルで定義されているコード著作権は、法的アドバイスではなく、内部使用のみを目的としています。クレジットセクションに記載されているすべてのコードは、MITライセンスに基づいてライセンスされています(詳細についてはライセンスを参照)