タグ

nginxとluaに関するfumikonyのブックマーク (5)

  • 自作でイベント駆動型サーバ作るのツライ問題とlua-nginx-module

    自作でイベント駆動型サーバ作るのツライ問題とlua-nginx-module 23 Mar 2016 Nakamura Narihiro 何の因果かわかりませんが、お仕事でちょっと賢いリバースプロキシサーバ(以降、RPサーバ)を作る機会が2回ありました。 HTTPヘッダの内容によってプロキシ先のサーバを動的に切り替えるようなものです。 この要件を満たすため、RPサーバには以下のようなプログラムが必要になります。 HTTPヘッダの内容を知るためにHTTPリクエストをパース プロキシ先のサーバへHTTPリクエストをプロキシ プロキシ先のサーバはRedisから取得 レスポンスをクライアントへ返す 大量のリクエストも捌ける 1回目はRubyとI/O多重化のライブラリを使ってイベント駆動型のRPサーバを自作してみました。 が、振り返ってみるとこれは失敗でした。 なぜ失敗だったのか? Rubyでイベン

    自作でイベント駆動型サーバ作るのツライ問題とlua-nginx-module
  • OpenRestyはどれくらいお気軽なウェブアプリ環境なのか。 - Qiita

    まとめの後に追記を追加。 OpenResty は Nginx をダイナミック・リバースプロキシーサーバに仕立て上げたり、テンプレートエンジンを仕込んでバックエンドの JSON API サーバにリクエストしたレスポンスデータを元にレンダリングして返したり、と色々便利に使えるお気楽ウェブアプリ環境なのだけれど、画像処理系のCPUに負荷のかかりそうなものでもお気軽にいけるのかなとふと疑問に思ったの実験してみる。 OpenResty や LuaRocks のインストールは homebrew でさっくり入るし、windows はパソコン初心者並の知識しかないのではしょる事にして、とりあえずテーマを決める。 「nginx 画像処理」でググってみると「簡単!リアルタイム画像変換をNginxだけで行う方法 | cloudrop」ってのが一番上にあったり「S3をバックエンドにngx_small_lightで

    OpenRestyはどれくらいお気軽なウェブアプリ環境なのか。 - Qiita
  • ハイパフォーマンスngx_lua | メルカリエンジニアリング

    Site Reliability Engineering(SRE) Teamの@cubicdaiyaです。 今回は数あるnginxのサードパーティモジュールの中でも一際強力で、メルカリでも活用しているngx_luaの便利な活用方法や最適化集について紹介します。 ngx_luaは軽量スクリプト言語のLuaでnginxを拡張できるモジュールです。 nginxの設定ファイル内にLuaのコードを埋め込んだり、nginxの拡張モジュールをCではなくLuaで開発することができます。以下はngx_luaにおける「Hello, World!」です。 location / { content_by_lua 'ngx.say("Hello, World!")'; } 上記のロケーションにHTTPでアクセスするとnginxはボディが「Hello, World!」のレスポンスを返します。 なお、先月末にリリースさ

    ハイパフォーマンスngx_lua | メルカリエンジニアリング
  • lua-resty-woothee というモジュールを書きました - アルパカDiary Pro

    Lua Advent Calendar 2014 7日目の記事です。 wootheeというUA解析プロジェクトを最近知ったのですが、 Lua版が無さそうだったので書いてみました。 当はLua単体で動くようにしたかったんですが、諸事情によりOpenresty依存となっております。 理由は後述。 ちなみに書いた動機など。 ちょうど、エンドユーザのUA解析してDB登録したりゴニョゴニョ出来たらいいなーと思っていた Nginx+Luaを書き始めているが、がっつりLuaを触っていたわけではないのでライブラリっぽいのも練習がてら書いてみたかった 期待された https://twitter.com/songmu/status/525610905946447872 リポジトリ https://github.com/toritori0318/lua-resty-woothee 使い方 READMEそのまま

    lua-resty-woothee というモジュールを書きました - アルパカDiary Pro
  • nginx.conf で環境変数を読み込む - Qiita

    Docker container で nginx を起動するときとか、nginx.conf で何かしらのパラメータを動的に設定したいことがあると思います。server_name とか。 今回は nginx.conf で何とかして環境変数を読み込む手法を紹介します。 TL;DR env ディレクティブと ngx_http_perl_module (or lua_nginx_module) を使って、環境変数を nginx 変数に設定する。 Example server_name を環境変数 SERVER_NAME から動的に読み込む例を示します。 user nginx; worker_processes 4; env SERVER_NAME; http { perl_set $server_name_from_env 'sub { return $ENV{"SERVER_NAME"}; }'

    nginx.conf で環境変数を読み込む - Qiita
  • 1