地方エンジニアの学習日記

興味ある技術の雑なメモだったりを書いてくブログ。たまに日記とガジェット紹介。

Apache/Nginx

【Nginx】ファイルキャッシュの追い出しアルゴリズム

mogile.web.fc2.com nginxが持っている機能のファイルキャッシュの追い出し方法について調べたので書いた。 ざっくり結論としてはキューを用いたLRUでキャッシュサイズが指定した値より大きい場合は要素の末尾を削除していくという実装 static time_t ngx_ht…

【Nginx】ログの出力可否

特定UAの場合ログに書き込みたいくないみたいなケースがあってどうにかならないかみていたらaccess_logはifで状態を取れるらしいことに気づいた。 nginx.org Syntax: access_log path [format [buffer=size] [gzip[=level]] [flush=time] [if=condition]]; a…

【Apache】httpd 2.2と2.4で微妙に違うrewrite rule

適当なrewrite ruleを使ってproxyする設定を書いた。以下の挙動が2.2と2.4で微妙に違うことに気づいたのでメモ config <VirtualHost *:80> ServerName www.test.com SSLProxyEngine On RewriteEngine on RewriteRule ^/(.*) $1 [P,L,QSA] </VirtualHost> vhostのwww.test.comへのアクセス時に…

【Apache】http/2を試す

httpd.apache.org この辺を参考に入れていく。CentOS7なら何もせずにビルドも成功したしモジュールも問題なく動いた。 <VirtualHost *:443> SSLEngine on <IfModule http2_module> ProtocolsHonorOrder On Protocols h2 http/1.1 </IfModule> DocumentRoot "/var/https/example.com/htdocs/" …(省略)… </VirtualHost>

【Apache】apacheのビルドオプションを調べる

どんなビルドオプションで入れたかを調べるためのコマンド apachectl -V github.com Server version: Apache/2.2.9 (Unix) Server built: Oct 13 2008 21:48:41 Server's Module Magic Number: 20051115:15 Server loaded: APR 1.2.7, APR-Util 1.2.7 Compil…

【Apache】mod_perlのビルドインストール

はじめに 「mod_perl」はperlからapacheのAPIを制御するためのapacheモジュールです。 mod_perl経由で実行されたperlスクリプトは、ネイティブコードに変換され、変換されたネイティブコードはapacheのメモリ上に常駐するため、通常のCGI経由でのperlスクリ…

【Apache】mod_deflateで圧縮転送

<IfModule deflate_module> SetOutputFilter DEFLATE BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4\.0[678] no-gzip BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html SetEnvIfNoCase Request_URI\.(?:gif|jpe?g|png)$ no-gzip dont-vary Header append</ifmodule>…

【Apache】mod_proxy_http2を試す

クライアント <-> のhttp/2にする方法は問題なさそう。 じゃあ今度はhttp/2をapache <-> バックエンドサーバで使用するにはのお話。 結論としてはmod_proxy_http2を使うだけで問題ない。 こんな感じで今まで使ってるmod_proxyの設定でproxyする際のプロトコ…

【Nginx】非同期IOとノンブロッキングIO

違い 厳密に種類を分けると下記はそれぞれ違った特性を持つ 同期ブロッキング - read(2)/write(2)シングルスレッドで実行 同期ノンブロッキング - open(2)時にO_NONBLOCKフラグをつけてfdを生成。 非同期ブロッキング - select(2)などで多重fdを管理。EAGAIN…

【Apache】ログに408が大量に出力されている場合の原因

apache 408とかで調べると以下の記事のようなELBとapacheでの構成で起こるというような話が大量に見られます。原因としてはELBがパフォーマンス向上のためにコネクションを繋ぎっぱなしにしてることが原因でapache側がクライアント(ELB)へ408を投げることが…

【Nginx】イベント駆動アーキテクチャとは

NginxとかNode.jsで使われてるあれ

カテゴリ用記事

カテゴリ用