You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
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!」のレスポンスを返します。 なお、先月末にリリースさ
lua-nginx-cheatsheet.md 逆引きlua-nginx-module (WIP) Table of Contents 検証環境 nginx lua-nginx-module luajit 基本編 hello, world! nginxログに出力する nginxの変数にアクセスする HTTPヘッダにアクセスする POSTデータを取得する 外部のluaモジュールを使用する オンメモリの共有tableを定義する luajitでnginx立ち上げ時にluaをコンパイルする 動的にluaスクリプトを更新する luaによるフックが行えるタイミング luaの実行時例外発生時に特定のページにリダイレクトする proxy編 http通信をフックする upstreamのレスポンスbodyを改竄する websocketをフックする https通信のペイロードを傍受する 任意のステータスコードで
NGINXからアプリケーションサーバ「NGINX Unit」がオープンソースで登場。PHP、Go、Pythonに対応。Java、Node.jsにも対応予定 NGINX UnitはNginxの開発者であるIgor Sysoev氏が設計し、NGNIXのソフトウェア開発チームが実装したもので、同社としてはNginxと同等の開発プロセスと品質を実現しているとしています。 現時点でPHP、Go、Pythonに対応。Java、Ruby、Node.jsにも対応予定です。 NGINX Unitの最大の特徴として挙げられているのは、最初から動的制御が可能なように設計されており、アプリケーションの入れ替えやバージョンアップなどを再起動することなくシームレスに行えるところです。 RESTful APIやJSONによるコンフィグレーションの変更やリロードもリアルタイムかつ動的に反映されるとのこと。 また、同一サー
こんにちは、Sustain チームの山口です。 今サイボウズリモートサービスというVPN・中継サービスで使用する L7LB を nginx に移行しようといろいろ調査をしています。 nginx をリバースプロキシとして使用する際に少々障害となる動作があり、それに関するアップデートが最近あったので、今回はそのお話です。 3行で分かる本記事の内容 nginx をリバースプロキシとして使う場合、リクエストがバックエンドサーバに二重で飛ぶ可能性がある 対策として proxy_request_buffering off が使えそうだが、使えない nginx 1.9.13 で仕様変更が入り、POST, LOCK, PATCH メソッドのリクエストは二重で飛ばないことが保証された nginx の受動的な health check とリクエストのリトライ動作 nginx はリバースプロキシとして使う場合に
はじめに 一年程前にリリースされた Nginx v1.9.0で、Streamモジュールが追加されました。 Streamモジュールを使うと、任意のポートでNginxがTCPの接続を待ち受けるよう設定できます。 この機能は、例えばNginxをTCPロードバランサとして構成する時に威力を発揮するようです。 nginx Blog - TCP Load Balancing with NGINX 1.9.0 and NGINX Plus R6 強力そうな機能ですが、個人的にNginxをTCPロードバランサとして使っていなかったため、特に機能を活用する場もなくスルーしていました。 ところで、つい先日公開されたNginxのモジュール、stream-lua-nginx-module、及び、stream-echo-nginx-moduleを組み合わせれば、任意のポートで待ち受けるTCPサーバをLuaで記述でき
こんにちは、@harukasanです。ピクシブでは3年以上にわたってHTTPサーバにnginxを採用しています。これらのノウハウが詰まった「nginx実践入門」が1/16(土)、技術評論社から発売されることになりました。 この記事では本書からピクシブで良く使われているnginxのテクニックについてかいつまんで紹介します。 すべてのリクエストを受け止めるnginx ピクシブのたくさんあるサービス(pixiv、pixiv Spotlight、pixivコミック、ピクシブ百科事典……)のどこかにHTTPリクエストを投げると、複数台あるフロントサーバのどれかに届きます。実際にアプリケーションを処理するのはフロントサーバの裏側にいるアプリケーションサーバです。これらのサーバにはPHPだったり、Ruby on RailsだったりPlay/Scalaだったりいろんなアプリケーションがデプロイされています
nginx Advent Calendar 2015 の6日目です。 http://qiita.com/advent-calendar/2015/nginx はじめに nginx の cache でディスクが溢れては大変ですので、データ使用量の制限の仕方が気になりますよね。 http://www.slideshare.net/Nginx/nginx-highperformance-caching/19 この資料によると、以下のように消えるそうです。 期限の切れたキャッシュを消す (例では10分) max_size から溢れる場合は LRU で消す 疑問 どういうタイミングで消すんだろう 具体的にどうやって消してるんだろう といった所が気になるので、対応するソースを貼り付けます。 nginx-1.9.1 のソース キャッシュを消すタイミング タイマーで回してます。ただし消え具合によって間隔を
この記事ははてなデベロッパーアドベントカレンダーを始めます - Hatena Developer Blogの17日目の記事です.昨日は id:yashigani_w の Promiseを学ぶためにSwiftでPromiseを実装してみた話 - yashigani?.days でした. こんにちは、はてなの id:wtatsuru です。はてなのインフラ全般をみています。 はてなでは、しばしば新サービスを構築する機会があります。正式サービスもあれば、はてラボ のような実験的サービス、内部の Microserviceの一部になっているものなど多種多様なものがあります。新規サービスのインフラを構築する際は、最小構成でありつつ後のスケールやメンテナンスを考えた仕組みを作っていくことになります。この記事では、2015年12月現在のはてなでの標準的な構成を紹介していきます。 新サービスの最小構成 こち
こんにちは。 インフラチームの野島(@nojima)です。 チームのメンバーに nginx の設定について気をつけるべき点を共有するために、レビュー観点を書きました。 せっかくなのでここで公開します。 ほとんどの項目は自分やチームのメンバーの実体験に基いています。 レビュー観点 server server_name が他のやつと被っていないか。 listen する IP アドレスが同じ場合、server_name で区別できないといけない。 TLS を使う場合、SNI をサポートしないクライアントでは TLS 用の設定が default_server のものが使われる点にも注意。 TLS を使う場合、listen ディレクティブに ssl オプションを書いているか。 location location のマッチの順番に注意 正規表現の location は前方一致の location より
Randen Pederson 大規模なシステムであれば使っているであろうリバースプロキシ。 セキュリティや稼働率の観点からみて利用することは非常にメリットは高いです。 ただ、社内や周りであまり知見がなく、 「動くからいいや」という理由でApacheをそのままWebサービスの一次受けとして利用されている方も多いと思います。 動くという目的からすれば確かにその通りですが、ただ一枚リバースプロキシを入れるだけで ぐっと運用効率、稼働率も拡張性も上がります。 1. ルーティング処理の簡略化 例えばRESTfulな一般的なAPI構成を作りたいと思った時に以下のようなURL構成になると思います。 http://api.something.com/search/v1/item/list.json?cid=xxxx&gid=xxxxx もしアプリケーション側のルーティングしか知らなければframewor
nginxは近年急速にユーザ数を伸ばしているOSSのHTTPサーバです。2015年3月のNetCraftの調査結果によると現在nginxのシェアは全世界のWebサイトの十数パーセントを占めるまでになっています。 nginxがこれだけ急速な勢いでユーザ数を伸ばしている要因の一つとしてnginxのソースコードに直接手を入れることなくモジュールを開発するための仕組みが整っていることが挙げられます。HTTPサーバに求められる要件は非常に多岐に渡るため、コア開発者だけでなくユーザ開発者が自分のニーズを満たすためにHTTPサーバを拡張できるのは重要なポイントです。そして実際に多くの開発者の手によって様々な用途のモジュールが開発され、nginxの強固なエコシステムが形成されてきました。 本トークでは拙作のngx_small_lightやngx_dynamic_upstreamといったnginxモジュール
Nginxでは, serverコンテキストのlocationコンテキストにおいて, proxy_passディレクティブを利用することで任意のホストにアクセスを転送することができます. 例えば, serverコンテキストにおいて, location / { proxy_pass http://127.0.0.1:5000; } みたいに書いてあげれば, localhostの5000番ポートにアクセスを転送することが出来ます. Webサービスでは, こういう感じでNginxが443番(HTTPS)や80番ポート(HTTP)で受けたアクセスを5000番ポートなどで動いているWebアプリケーションに転送している訳です. で, このproxy_passディレクティブは, IPをそのまま書くのではなく, 次のようにドメインを書くこともできます. location / { proxy_pass http
数年前、Webは全体的に暗号化されていませんでした。HTTPSはWebページの最も重要な部分だけのために確保されていました。暗号化が必要なのは大切なユーザデータだけで、Webページの公開される部分は暗号化せずに送ってもいいということで意見が一致していました。 しかし、 今は 状況 が 違います 。現在では、どんなWebトラフィックでも暗号化されていないのは良くないということが分かっているので、Webサイトを運営する誰もがコンテンツに関係なく強固なHTTPSを設定しなければなりません。 お恥ずかしい話ですが、私自身のWebサイトは2年近くも全くHTTPSをサポートしていませんでした ^(1) 。 Eric Mill の 今すぐ無料でHTTPSに切り替えよう という素晴らしい記事が最終的に私に喝を入れてくれました。私は休暇中、HTTPSをセットアップして Qualys SSL Report で
Analytics cookies are off for visitors from the UK or EEA unless they click Accept or submit a form on nginx.com. They’re on by default for everybody else. Follow the instructions here to deactivate analytics cookies. This deactivation will work even if you later click Accept or submit a form. Check this box so we and our advertising and social media partners can use cookies on nginx.com to better
speakerdeck.com こんなに効果計測に違いが出来るのか。 こちらと。 speakerdeck.com こちらも読まないと、ちゃんと理解出来ないかも。 speakerdeck.com
Protecting the weak against null pointer exceptions, motorcyles, skydiving and technology. On the end of 2013 I’ve met two amazing guys Justin Dorfman and David Archibald from MaxCDN, they were looking for a way to cache 206 Partial content. As some of you may be aware, partial content caching using squid/varnish/nginx does not work as expected, the cache needs to download the entire file before r
初来日のNginx開発者Igor Sysoev(イゴール・シソエフ)さんを囲む会 イゴールさんを囲んでビール、ピザスナックありのカジュアルな集まりの予定です nginx.com社公認のNginxユーザ会を立ちあげたいので、その第0回的な気持ちです Nginxユーザーコミュニティの立ち上げについて サイオステクノロジー 安藤浩二さん 日本のユーザーコミュニティの歓迎とNginx社としてのコミットについて Nginx社 CEO Gus Robertsonさん(通訳付き) Nginx アップデートNginx社CTO Igor Sysoevさん(通訳付き) 質疑応答(通訳付き) 懇親会 ※随時更新します! ■概要 日時: 2014/6/18(水) 19:00~20:30 ※開場18:30 会場: サイオステクノロジー東京オフィス 9階オープンスペース (東京都港区南麻布2‐12‐3 サイオスビル)
Webサーバ nginx nginx wiki Nginx Unit Perlbal Zephir DBサーバ Q4M ROMA Clustrix Fileサーバ LeoFS mogilefs ストリーミング Gearpump Apache Spark Kafka Flink Redis php-rdkafka そのほか PHP-ML webistrano robo egit Tig innotop ジョークRFC Webサーバ nginx ちょっ速webサーバ。ロードバランサな使い方をされることが多いかも。 http://nginx.org/en/docs/index.html nginx 1.23.1 2022/07/30 nginx 1.19.2 2020/09/21 nginx 1.15.0 2018/06/27 nginx 1.13.11 2018/04/08 nginx 1.1
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く