タグ

nginxに関するyuroyoroのブックマーク (39)

  • NginxをWebサーバー“以外”でも徹底活用する

    Nginxは高速化だけではありません。Webサーバー以外への応用事例として、ロードバランサー、HTTPS対応、WAFとしての利用を紹介します。 連載目次 Nginxの活用 「高速・軽量・高機能WebサーバーのNginx」連載の最終回にあたり、今回はNginxのWebサーバー以外の活用方法を紹介します。 NginxはWebサーバー以外にも、ロードバランサーやHTTPSサーバー、WAF(Webアプリケーションファイアウォール)、キャッシュサーバーとして利用することができます。そもそもNginxが開発されたのは、Apache HTTPDのロードバランシング機能に対するパフォーマンス不足からでした。そのためNginxのロードバランシング機能はパフォーマンスが高く、またさまざまな付加機能を持ち合わせています。 例えばHTTPSとロードバランサーを組み合わせHTTPSアクセラレーションを実現したり、W

    NginxをWebサーバー“以外”でも徹底活用する
  • RubyKaigi2014でmod_mrubyやngx_mrubyとその応用について発表して、就職も決まりました - 人間とウェブの未来

    RubyKaigi 2014でmod_mrubyやngx_mrubyとその応用について話してきました。 この写真はhsbtさんに撮っていただいた写真で、その他RubyKaigi中のグレートな写真を沢山撮影されていました。 hsbtさんに感謝します。 RubyKaigi 2014, 18-20 september RubyKaigiは、オブジェクト指向スクリプト言語Rubyの準国際カンファレンスです。 世界中からRubyのコミッターや技術者がRuby発祥の地である日にて一堂に会するイベントです。 2006年からほぼ毎年開催されており、前回のRubyKaigi 2013では公用語に英語を追加するなど、国際カンファレンスとしての場を整え、3日間でのべ1,500名以上の来場者を迎えました。 発表で使用したスライドは以下です。 スライドよく見ると、時間の関係上省いた最後の

    RubyKaigi2014でmod_mrubyやngx_mrubyとその応用について発表して、就職も決まりました - 人間とウェブの未来
  • nginxモジュールのテストを書く - 波打際のブログさん

    はじめに 唐突ですが、仕事でシステムの構成を考えていると、nginxを拡張したいなーとか思うことってあると思います。nginxはC言語で割と簡単に拡張モジュールを書くことができます。(今回は拡張モジュールの書き方については触れませんが・・・) だがしかし、仕事なんだからテストコードは必須だよね(迫真)。既存のnginx用のモジュールのコードを眺めてみると、謎の`t`フォルダにテストコードが入っています。 `t`ってなんだよ`t`って!中身もhogehoge.tとかなってるし、t言語なんかあるの? というところから始まり、なんとかテストを書いて実行できるようになったので方法をまとめておきます。 具体的にはperlのテストフレームワークと agentzh/test-nginx · GitHub を利用してテストを書いていきます。 さっきからPerlっていう単語が・・・ あれって2000年前半に

    nginxモジュールのテストを書く - 波打際のブログさん
  • 我々はどのようにして安全なHTTPS通信を提供すれば良いか - Qiita

    HTTPS通信は複数のプロトコル、手法が組み合わされて実現されている。そのため、暗号化手法それぞれのリスク、ブラウザの対応等様々な用件があり、全てを理解するにはちょっと時間とリソースが足りない。結局のところ、我々はどのようにして安全なHTTPS通信を提供できるのか。色々調べていたところ、MozillaがMozilla Web siteに使用する、HTTPSの推奨設定を公開している。 Security/Server Side TLS - MozillaWiki このドキュメントはMozillaのサーバ運用チームが、Mozillaのサイトをより安全にするために公開しているもので、他のサイトにそのまま適用できるかは十分に注意する必要がある。例えばガラケー向けサイトとか。そのまま使えないとしても、HTTPS通信の設定をどうすれば良いか、理解の一助になるはずだ。 この記事は上記MozillaWiki

    我々はどのようにして安全なHTTPS通信を提供すれば良いか - Qiita
  • OpenRestyはどれくらいお気軽なウェブアプリ環境なのか。 - Qiita

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

    OpenRestyはどれくらいお気軽なウェブアプリ環境なのか。 - Qiita
  • httpsだからというだけで安全?調べたら怖くなってきたSSLの話!? - Qiita

    課題 サイトをを立ち上げるときに当然のごとくSSL証明書をベンダーから購入して設置していたが、いざセキュリティ診断等でチェックしてもらうとSSLについての指摘を何件か受けてみた。なんでだろうと思いながらも、さらに最適なSSL設定は?と聞かれてそういえばあまり昔から手を入れたことなかったなと思い調べてみた SSL通信が確立するまでの概要フロー SSL通信について再度おさらい Nginxを元にしたSSLの設定 nginxのHTTPS サーバの設定を参考に、たった2行だけどSSLを考えてみる。書き方は違えどもapacheも概念は一緒のはず。

    httpsだからというだけで安全?調べたら怖くなってきたSSLの話!? - Qiita
  • Nginx + Lua から MySQL を使う - 昼メシ物語

    この記事は MySQL Casual Advent Calendar 2013 の 12 日目です。 みんな大好き Nginx + Lua ですが、その Lua から MySQL が叩けるとなると、Nginx だけでウェブアプリケーションが書けちゃうという夢が広がりますね。 難しそうというイメージがあるかもしれませんが、実は OpenResty を使うと、そんな環境が簡単に作れてしまうので、今日はその方法を紹介します。 ngx_openresty のインストール 今回は Ubuntu 12.04 での例ですが、ほとんど同様の手順で CentOS 6.5 でも動くことを確認しています。 *1 $ sudo apt-get -y install gcc make libpcre3-dev libssl-dev perl5 wget $ sudo apt-get -y install libmy

    Nginx + Lua から MySQL を使う - 昼メシ物語
  • G-WANはなぜ速いのか?をnginxと比べながら検証してみた - blog.nomadscafe.jp

    ツチノコブログのWEBサーバベンチマークツール比較の記事で紹介されていた。WebサーバのG-WAN。この記事によると凄く速いようです。 Intel Xeon E5-2640 (6コア/12スレッド 2.50GHz) を2つというサーバで gwan  334944 req/s nginx 111842 req/s と、速いと言われているnginxの3倍の速度を出しています。 このベンチマーク結果がとても気になったので、なぜG-WANが速いのか、自分でも検証してみました。 結論から言うと以下の2つ。 1) G-WANはデフォルトで物理CPUに合わせた数のスレッドを起動する 2) HTMLファイルも一度読み込んでキャッシュする という事です。 今回はAWSのcc2.8xlarge(E5-2670 8コア/16スレッド 2.60GHz *2)を使ってベンチマークを行いました。OSはAmazon L

  • S3とFluentdを用いた効率的なログ管理 | SmartNews開発者ブログ

    ゴクロの大平です。 私にとって一番大事で替えの効かないミュージシャンはさだまさしさんですが、私にとってクラウドコンピューティングのサービスの中で一番大事で替えが効かないサービスはS3です。 多種多様なAPIを用いて柔軟にファイルの操作が出来る事や、”99.999999999%”と謳われている高い耐障害性、S3にあるデータをElastic MapReduceやRedshiftなどを用いて手軽にデータ解析を行える基盤が提供されていることなど、あまりに便利すぎてS3の代替となるサービスを探しだすのが難しい状態です。 もちろん多くのAWSユーザーが同じようにS3の便利さを享受していると思いますし、インターネット上でも多くのブログ等でその魅力が語られています。その中で記事は既に存在する記事と似たような内容を書いてしまうかもしれませんが、弊社なりのS3の使い方についてご紹介したいと思います。 なお

  • WebSocket アプリの負荷分散 : DSAS開発者の部屋

    最近 SPDY と WebSocket がアツいですね。 再来週の SPDY & WS 勉強会 も、定員100名に対して 参加者が 247 名とかなりアツいことになっています。 その予習というわけでもないですが、最近 WebSocket を実サービスへの 導入方法を考えながら遊んでいたので、 WebSocket の負荷分散方法について 考えていることを書いておこうと思います。 ステートフルな WebSocket アプリケーション HTTP サービスは基的にステートレスな実装になっており、リクエストが来るたびに DBサーバーや memcached などのバックエンドから情報を取得して返していました。 この構成では Web アプリ自体は完全にステートレス化することができているので、 負荷分散機はラウンドロビン等のアプリケーションを無視した負荷分散をすることができました。 しかし、 WebSo

    WebSocket アプリの負荷分散 : DSAS開発者の部屋
  • Unicorn!

    AI & MLLearn about artificial intelligence and machine learning across the GitHub ecosystem and the wider industry. Generative AILearn how to build with generative AI. GitHub CopilotChange how you work with GitHub Copilot. LLMsEverything developers need to know about LLMs. Machine learningMachine learning tips, tricks, and best practices. How AI code generation worksExplore the capabilities and be

    Unicorn!
  • lua-nginx-module の紹介 ならびに Nginx+Lua+Redisによる動的なリバースプロキシの実装案 - hibomaの日記

    Nginxは非常に強力なhttpdですが、独自のモジュールを実装しようとするとこれまた非常に敷居が高い印象です。 追記 この記事よりも前に http://openresty.org/#DynamicRoutingBasedOnRedis でほとんど同じ内容のエントリが書かれていました。こちらも参照ください モジュールの開発はむずかしい まず開発用のドキュメントはほとんどありません。必然 既存のモジュールをお手としますが、コメントも少ないのでソースだけが頼りです。 {ファイル,ネットワーク} I/O を伴う処理では、Nginxのノンブロッキング/イベントドリブンのアーキテクチャにのっとってコールバックを駆使したCで実装する必要があり、LLで育ったゆとり脳では太刀打ちできませんでした lua-nginx-module が代わりになるかも なんらかのNginxモジュールを開発しなければならない

    lua-nginx-module の紹介 ならびに Nginx+Lua+Redisによる動的なリバースプロキシの実装案 - hibomaの日記
  • Nginx Inside Memo (カーネル/VM Advent Calendar) - 技術日記@kiwanami

    この記事は http://atnd.org/events/21910 のために書かれたものです。 一つ前の5日目は @sora_h さんの钱柜娱乐_钱柜娱乐平台_钱柜娱乐777(唯一)官方网站でした。明日は、 @master_q さんの予定です。 nginx の内部の仕組みやモジュールの作り方について簡単に紹介してみます。 最近 nginx のコードを読んでハックを試みました。 nginx のコードについてはほとんどドキュメントがなく、日語でも見かけなかったため(もし書いている人がいたらすみません)、後から続く人にとって多少でも参考になれるようメモをまとめました。(2011/12/06 デバッグについて少し追記) 全部読みきったわけではないので、コードを読む上でのとりかかりぐらいの情報です。もし、間違いがあれば教えてください。 このメモは stable version である Nginx

    Nginx Inside Memo (カーネル/VM Advent Calendar) - 技術日記@kiwanami
  • http://shiken.infrabu.info/nginx/nginx%E3%82%92%E3%82%BD%E3%83%BC%E3%82%B9%E3%81%8B%E3%82%89%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%EF%BC%88%EF%BC%8B%E5%9F%BA%E6%9C%AC%E8%A8%AD%E5%AE%9A%EF%BC%89/

  • passengerもrvmで動かすOSのrubyに依存しない環境づくり | Act as Professional

    OSに最初からついているrubyのバージョンやパッケージのバージョンとかを見てみると、 [@MacBook-Air]$ /usr/bin/ruby -v ruby 1.8.7 (2009-06-12 patchlevel 174) [universal-darwin10.0] とか表示されて、Rails3使ってる人にとっては、だいぶ残念な感じ。 かといって、passengerが1.8系で既に動いていたり、1.8系でしか稼働しないコードやgemを使っていたりする場合、OSのrubyバージョンを勝手に変更するわけにもいかない人は多いんじゃないだろうか。 でも、rubyは1.9でrailsは3なんだよ。って人は、なんでもかんでもrvmでやること推奨する。 そして、rvmにインストールした1.9系のrubyを使ってpassengerを稼働さましょう。 rvmについてのインストールは公式サイトの通り

    passengerもrvmで動かすOSのrubyに依存しない環境づくり | Act as Professional
  • nginx

    nginx [engine x] is an HTTP and reverse proxy server, a mail proxy server, and a generic TCP/UDP proxy server, originally written by Igor Sysoev. For a long time, it has been running on many heavily loaded Russian sites including Yandex, Mail.Ru, VK, and Rambler. Here are some of the success stories: Dropbox, Netflix, FastMail.FM. The sources and documentation are distributed under the 2-clause BS

  • Rails アプリを nginx の拡張モジュールで置き換えて高速化する方法 - HeartRails Tech Blog

    HeartRails Tech Blog ハートレイルズのエンジニア、デザイナーによるブログです。 ウェブサービス、スマホアプリ、IoT デバイスの開発に関連する技術的な情報を発信していきます。 こんにちは、ハートレイルズの境 (@kazsakai) です。好きなエクスペンダブルズはドルフ・ラングレンです。 さて、弊社ではよくサーバーサイドを nginx+passenger+Ruby on Rails という構成でサービスを構築しています。 Rails を使っているのは社名が HeartRails だから、というわけでは全くなく、単に僕が昔から Ruby を使っていたからで、他意はありません。 passenger は今や Rails/Rack アプリ向けの標準ミドルウェアみたいな存在で、このおかげで随分 Rails の運用が楽になっています。passenger のリリース以前は手製スクリプ

  • Railsの各種サーバーの速度ベンチマーク: Pound、Varnish、Nginx、Unicorn、Mongrel

    Railsの各種サーバーの速度ベンチマーク: Pound、Varnish、Nginx、Unicorn、Mongrel RailsのアプリをPound、Varnish、Nginx、Unicorn、Mongrelを使用して動かした際の速度ベンチマーク。以下の構成での同一Railsアプリをhttperfでベンチマークした結果をまとめます。 Pound -> Varnish -> Nginx -> Unicorn * 2 Varnish -> Nginx -> Unicorn * 2 Nginx -> Unicorn * 2 Mongrel (Rails.env == 'development') node.js (Express + Socket.IO) 全体の構成Poundを80番ポートを公開し、Varnishを81番ポート、nginxを8080番ポート、Unicornの2プロセスをsocke

  • NginxでのModuleの作り方 - よねのはてな

    Apacheモジュール作成は以前のエントリの通り手軽に出来ます。 Apacheモジュールの作成とgdbloggerでのデバッグ方法 - よねのはてな 今回は、Nginxでモジュール作成してみたいという人向けです。 Nginxにおける処理の流れと押さえておきたい構造体、モジュール作成方法をのせておきます。 Nginx http://nginx.net/ そもそもNginxってなんだ?という人は軽量超高速なHTTPサーバという理解でOKです。 実際にはReverse Proxy、Mail Proxyとしても使用可能で、ライセンスはNSD系。 Nginxについては以下を参照下さい。 パフォーマンス比較 http://www.joeandmotorboat.com/2008/02/28/apache-vs-nginx-web-server-performance-deathmatch/ Ngin

    NginxでのModuleの作り方 - よねのはてな