connect infra engineers with app engineers
200万以上のWebサイトを支えるインフラで、リソース制御として使われている mod_mruby の採用事例を紹介します。
この記事は、mod_mruby ngx_mruby advent calendar 2014の最終日25日の記事になります。 24日は @cubicdaiya さんの「ngx_mrubyとngx_lua」でした。 無事カレンダーの全ての日程が埋まるような結果となり、非常にうれしいです。また、自分の作ったソフトウェアを使って色々工夫されているのをみて、非常にワクワクしながら全ての記事を読みました。とてもおもしろかったです。 というわけで今日は最後になるので、mod_mrubyとngx_mrubyの開発で感じていた事、そこからの次の一手として考えついた新しいソフトウェアを紹介したいと思います。 mod_mrubyとngx_mruby開発で感じていた事 これまでのHTTP/1系で実装されてきた代表的なWebサーバであるApacheやnginxはそれぞれ固有の静的な設定を記述する必要があり、Web
これは mod_mruby ngx_mruby Advent Calendar 2014 の18日目(12/18)の投稿です。 この投稿の位置づけとしては、アドベントカレンダーの16日目に書いた記事(静的リソースをリバースプロキシで配信する)の応用編です。 Apache では、リバースプロキシしたコンテンツに対して、更に出力フィルタをかけて処理することが出来ます。(有名な出力フィルタだと mod_deflate など。) イメージは次のとおり。 Apache のフィルタについての説明はこちら。ちなみにコンテンツハンドラ(例:PHP、Perl)の前に起動されるのが入力フィルタで、後に起動されるのが出力フィルタです。 ⇒ http://httpd.apache.org/docs/current/ja/filter.html もちろん mod_mruby でもフィルタを作成できますので、同様にリ
今回は、.mdファイルにMarkdown形式で文章を書いておき、それをApache httpdやnginxでホストし、ブラウザからアクセスするとHTMLに変換されて表示されるMarkdownコンバータモジュールをmrubyで書く方法を紹介したいと思います。 Markdownのテキスト形式で保存しているファイルを適当にApache上で配信すれば、ブラウザ上でHTMLで綺麗に閲覧できるといったよくあるアレをWebサーバを拡張して実装してみようという話です。自分の開発環境やローカル環境のメモ置き場にも良いかもしれません。 Apacheモジュールやnginxモジュールで幾つかそういった機能を提供するモジュールはあると思うのですが、もう少し独自で改良したかったり、C言語で実装せずにもっと簡単に自分で書いてみたい、といった要求に本エントリを読むと答えられると思います。 もちろんそれらの機能の実装は、僕
人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 先ほど、mod_mrubyとngx_mrubyのそれぞれv1.0.0をリリースしました。 2012年の4月のmrubyのソースコード公開を機に開発をはじめ、今振り返ると色々な事がありながらも2年間続けて研究・開発を行い、ようやくここまで辿り着く事ができました。 mod_mrubyとngx_mrubyを実装していく中で、Matzさんをはじめmrubyに関わるすごいプログラマの皆さんと出会い、多くの事を教えていただきながらここまでやってくることができました。もし、彼らと出会うことがなければここまで続ける事はできなかっただろうと思います。 mrubyに関わりながら研究・開発し、その成果物をOSSとして公開しながらやってきたことで、恐縮ながらも産学両
はじめに 同僚と話していて mod_mruby で盛り上がった後で mod_rewrite 的なことを mod_mruby で試したくて、その準備として mod_mruby と Apache が動く Dockerfile を作った とりあえず箇条書きですいません [追記]タイトルを修正しました [追記]現在、作業中です 参考 Welcome to the mod_mruby wiki! Dockerfile こっちにアップした inokappa / dockerfiles docker build git clone してきて docker build する。 docker build -t hoge/mod_mruby . すんません、途中でコケることがあるかもしれません...。 docker run Dockerfile 内で EXPOSE 80 と CMD ["/usr/sbin/a
ども、大瀧です。前回に続き、Apache httpd(以下Apache)によるバーチャルホストの構築例として、mod_mruby編をお送りします。 Apacheの再起動が不要なバーチャルホストの構築方法として、前回はmod_vhost_aliasモジュールの活用とmod_luaモジュールでLuaスクリプトによるApacheの動作のカスタマイズをご紹介しました。今回は、mod_luaモジュールと同様のアプローチで軽量版Ruby実装のmrubyを実行する、mod_mrubyモジュールでApacheの動作をカスタマイズ、バーチャルホスト構成として動かしてみようと思います。 [2014/03/04更新] 本ブログで執筆当時未実装と記した機能は実装済みと、作者のMATSUMOTO Ryosukeさんのツイートでありました。以下の説明はちょっと情報が古いことをご承知置きください。 ひとまずここで言及さ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く