Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

タグ

apacheに関するjay777のブックマーク (33)

  • ApacheのRewriteRuleで検索条件に^/がマッチしない場合がある理由 - このブログはURLが変更になりました

    ApacheのRewriteRuleで「/hoge/配下にアクセスがあったら http://example.jp/fuga/ に301リダイレクトを行う」ってな処理を書く場合、先頭に/が必要な場合と必要ない場合がある。 RewriteEngine on # これでいける場合もある RewriteRule ^/hoge/(.*) http://example.jp/fuga/$1 [R=301,L] # こう書かないとダメな場合もある RewriteRule ^hoge/(.*) http://example.jp/fuga/$1 [R=301,L] この先頭に/が必要不要の違いはなんだろうなーと思っていたが、先日理由がわかった。 Apacheのドキュメントにしっかり書いてあった。 RewriteRule Directive What is matched? In VirtualHost c

    ApacheのRewriteRuleで検索条件に^/がマッチしない場合がある理由 - このブログはURLが変更になりました
  • HadoopによるApacheのログ解析の実際

    こんにちは、ミツバチワークス stoneです。 今日は、DECOLOGで行われている、Apacheのログ解析について、 ご紹介してみようかと思います。 現在、DECOLOGでは、リバースプロキシが8台あって、 その8台の1日のApacheのログは、全部で、200Gバイト以上になっています。 これを、13台のHadoopのスレーブノードで解析を行っています。 全体の流れとしては、 1) リバースプロキシからHDFSにログを転送 2) 解析用のサーバーで、HDFSにログの転送が終わるのを監視 3) ログの転送が終わったら、Hadoopを起動、解析 4) Hadoopの解析結果をデータベースに保存 以下では、各々のステップを個別に見て行くことにしますね。 1. リバースプロキシからHDFSにログを転送 当初、Hadoopのプロセスが立ち上がっていないと、HDFSにはアクセスできない、 と思い込ん

  • Apacheのレスポンス分析に必要なスクリプトまとめ - ブログなんだよもん

    最近、Apacheのログ解析をすることが多いので、備忘録を兼ねてまとめ。 とりあえず、超便利コマンドはawk, sed, grep, uniq, sortあたり。コレを駆使して色々解析する。そして、これを駆使して解析がツライ時は素直にperlruby, pythonに処理を渡すべきかなぁ。awkが結構なんでもできるので、awkだけでも基的にはいいけれど。 あと、リアルタイム解析じゃなくて前日のログ解析だから基はzgrepやzcatから始まります。 で、ポイントは可能な限りzgrepを使うこと。zcatは一度全部展開するので、トロいし、負荷もでかいです。 apacheのログフォーマットが違うと当然そのまま適用できないので、その辺は適当に変更する感じで。 やっぱ、CSV解析はこの辺がネックですね。全部JSONになれば良いのに... 平均レスポンスタイム アクセスログの末尾がレスポンスタイ

    Apacheのレスポンス分析に必要なスクリプトまとめ - ブログなんだよもん
  • 2010年代には Apache の mpm_prefork とか流行らない (もしくは HTTP keep-alive のメリットとデメリット) - kazuhoのメモ置き場

    HTTP の持続的接続の功罪について はじめに、HTTP の持続的接続 (keep-alive) のメリットについて。持続的接続を使うメリットは、以下の2点。 TCP 接続の確立にかかる時間の節約*1 TCP の接続と切断に必要な資源 (CPUとネットワーク) の節約 ウェブブラウザ〜データセンタ間の通信で、持続的接続を使う理由は、このうちの前者。特に太平洋を超えるようなケースだと、TCP 接続に0.2秒とかかかるので、メリットが大きい。 一方、持続的接続のデメリットは、 接続が切断されるまでの間、その接続を維持するためにコストがかかる (主としてメモリが無駄になる) という点になる。特に、1プロセス1コネクションを前提とするアーキテクチャ (例: mod_perl) だと、メモリの無駄使いが、とてもひどいことになる。 そこで、ブラウザからの接続を受ける HTTP サーバとアプリケーション

    2010年代には Apache の mpm_prefork とか流行らない (もしくは HTTP keep-alive のメリットとデメリット) - kazuhoのメモ置き場
  • Apache 2.4系でのモダンなアクセス制御の書き方

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 これまでのApache2.2系以前でのアクセス制御の書き方は賛否両論でした。僕はあまり好きじゃありませんでした。 過去のアクセス制御に関しては、以下の記事がとてもわかりやすくまとめられていると思います。 こせきの技術日記 – Apacheのアクセス制御をちゃんと理解する。 ここで、以下のように言及されています。 こんなバッドノウハウ、当はどうでもいいと思う。Apache 3.0では、かっこいいDSL(VCL)で書けるようにする構想があるらしいのでがんばってほしい。 ということで、2.4系ではDSLとはいかないまでも、Require*というディレクティブを使ったモダンな書き方ができるようになったので、それを2.2系以前のアクセス制御の記述と比

    Apache 2.4系でのモダンなアクセス制御の書き方
  • ApacheとNginxの性能比較でevent_mpmの本気を見た

    はい、これは僕がいつも良く見るApacheとNginxの性能差に見えます。大体、ApacheはNginxの75%程度の性能に落ち着きます。数十バイトの静的コンテンツに対するリクエスト処理はNginxの得意分野だと思っていたので、大体こんなものです。 そこで、真面目にevent_mpmのチューニングを行ってみました。で、幾度となくベンチを試した結果導き出した、静的コンテンツに対する同時接続数100程度に対して最高のパフォーマンスを示すevent_mpmの設定は以下のようになりました。 [program lang=’apache’ escaped=’true’] StartServers 4 MinSpareThreads 4 MaxSpareThreads 4 ThreadsPerChild 2 MaxRequestWorkers 2 MaxConnectionsPerChild 0 [/p

    ApacheとNginxの性能比較でevent_mpmの本気を見た
  • リバースプロキシの図解メモ | pc.casey.jp

    通常のプロキシサーバ( forward proxy )は、ユーザのリクエストを直接目的のサーバーに送らず、自分のリクエストとして目的のサーバーにリクエストを送り、そのレスポンスをユーザへ送り返す。このとき、サーバーにキャッシュ機能があればプロキシサーバ内にあるキャッシュデータを返却することでネットワークトラフィックを減らすことができる。 また、リクエストを受けた外部サーバでは、プロキシサーバがリクエストを発信したものと見えるため、ユーザは自分を隠蔽することができる。 リバースプロキシは、外部ではなく内部へリクエストを再送する。 ユーザは常に www.mydomain.com (DMZに配置することが多いようだ)のアクセスであり、実態サーバを知ることはない。仮に www.mydomain.com へ攻撃をしてもバックエンドサーバーは無傷である。 例えば /foo は 192.168.1.12

    リバースプロキシの図解メモ | pc.casey.jp
  • やっとわかった、リバースプロキシの設定の意味 - @kyanny's blog

    いままでリバースプロキシの設定がよくわかっていなくて、すでに動いているサーバの設定を見よう見まねで使い回してきた。ちゃんと理解しようと思って、マニュアルを読み直したらやっとわかった。設定の方法 (How) がわかったこと以上に、なぜそう書く必要があるかという理由 (Why) を理解できたのが嬉しい。久しぶりに「わかった!」と叫びたくなった。感動を忘れないうちに、思い出せるように、書いておく。 mod_proxy - Apache HTTP サーバ バージョン 2.2 が Apache のプロキシ関連のマニュアル。 mod_proxy を使うことになる。 大事なディレクティブは、 ProxyPass と ProxyPassReverse のふたつ。 ProxyPass これがリバースプロキシをする上でのほとんどすべてのことをやってくれる。実は見慣れた (コピペし慣れた) 設定ではこのディレク

    やっとわかった、リバースプロキシの設定の意味 - @kyanny's blog
  • linuxで httpd が使ってるメモリ総量を調べる話 - kazuhoのメモ置き場

    Perl等のLLでウェブアプリケーションサーバを書いていると、普通はマルチプロセスモデル (apache なら prefork とか) で運用することになると思う。で、それらがどれだけメモリを使っているか、っていうのはチューニングにおいて重要になってきたりする (んじゃないかと思う) けど、そもそもメモリの総使用量をどうやって測定するのか。 20:20追記: PSSを使ってワンライナーで測定するのが簡単 (コメント欄参照)。kosakiさんありがとうございます。 $ sudo perl -le 'for my $p (@ARGV) { open my $fh, "< /proc/$p/smaps" or die $!; map { /^Pss:\s*(\d+)/i and $s += $1 } <$fh> } print $s' `pgrep plackup` 914325以下は初回投稿時

    linuxで httpd が使ってるメモリ総量を調べる話 - kazuhoのメモ置き場
  • ロードアベレージが1000を超えた

    最強の看板を下ろしたミラーサーバftp.jaist.ac.jpの管理者の一人が、 このサーバにまつわるよしなしごとを語ります。 English versions of some posts on another blog. 12月17日の未明にftp.jaist.ac.jpのロードアベレージが1000を超えました。気がついたときには峠を過ぎていて、15分平均がちょうど1000くらいで、1分平均は120くらいまで下がっていました。忙しい間はMRTGがsnmpdからロードアベレージを正しく取れていなかったため、残念ながら証拠が残りませんでした。UltraSPARC T1は32スレッド同時に処理出来るので、1000といってもシングルコア・シングルスレッドのCPUの31くらいですけどね。 12月16日の朝にFirefox 3.5.6がリリースされました。翌午前1時くらいにアメリカのからのアクセ

    ロードアベレージが1000を超えた
  • apache :: ドットから始まるファイル、ディレクトリにアクセス禁止 [Tipsというかメモ]

    .htaccess .secret.txt .svn 等のドットから始まるファイル、ディレクトリにアクセス禁止 #403 Forbidden RedirectMatch 403 /\. ちなみにディレクトリのみに限定したければ #403 Forbidden RedirectMatch 403 /\..*/ どこぞのサイトには以下のように Directoryディレクティブ でいけると書いてあったが、 私の環境では 500 Internal Server Error が発生して動作しなかった。。 <Directory ~ "/\..+/"> Order Deny,Allow Deny from All </Directory>

  • Home

    Apache Struts 2 is an elegant, extensible framework for building enterprise-ready Java web applications. Distributions of Struts 2 are available as a free download under the Apache License. For more about the Apache Struts project, visit the project web site. For more about Struts Plugins, visit the Struts 2 Plugin Registry. For a free copy of "Starting Struts 2", visit InfoQ. For more books, art

  • JavaによるWebアプリケーション入門

    Struts の概要 Strutsとは、Jakarta Projectが作成している、Webアプリケーション用のフレームワークです。MVCモデル2の考え方で設計されており、StrutsはこのうちViewとControllerを担当します。Modelには、JavaBeansやEJBなど、自分の好きなものを利用できます。 Strutsを使ったWebアプリケーションは、だいたい次のような構成になります。 Webブラウザからの要求は、すべて「ActionServlet」が受け取る。ActionServletは、Strutsではじめから提供されているServletである。 Webブラウザからの要求で、クエリーとして与えられたパラメータは、「ActionForm Bean」に渡される。ActionForm Beanは、プログラマが作成する。 「Actionクラス」で、クエリーの処理などのビジネスロジッ

  • jakartaプロジェクトの歩き方

    Jakartaプロジェクトの歩き方 作成 2002/7/8 更新 2003/5/8 Jakartaプロジェクトとは? Jakartaプロジェクトとは? JakartaプロジェクトJavaのオープンソースプロジェクトです。 Tomcatをはじめ、Ant、log4j、Strutsなど、数々のプロダクトを生んできました。 主にJavaのサーバーサイドのプロダクトを提供しており、 プロダクトは商用品質であることをポリシーとしています。 またラインセンスは、Apache Software Linenceというラインセンスで、 無償で利用でき、再配布が可能です。 サブプロジェクト Jakartaプロジェクトは、数々のサブプロジェクトから成り立っています。 ここでは、実際に使ってみての感想などをつらつら書いています。 プロジェクト名のリンクをクリックすると、 各プロジェクトについてのページに飛びます。

  • [Jakarta/Apacheウォッチ]---目次

    CIO/CDOオブ・ザ・イヤー特別賞にクレディセゾン・小野氏と日郵船・高橋氏、人材育成を変革につなげる

    [Jakarta/Apacheウォッチ]---目次
  • Apache2 + PHP5をWindowsXPにインストール – ぱんぴーまっしぐら

    ノートPCの環境がApache1.3.X+PHP4だったので今後のためにApache2+PHP5環境に。 ※[2007/06/03]結構アクセスがあるようなので一部追加、修正しました ○Apache2のインストール Apacheの日語ページから Apache2Windows用バイナリをダウンロード。 ミラーサイトへ移動して/binaries/win32と進めばWindows用のバイナリファイルがあります。 Apache2.2がリリースされていますがバイナリがみつからなかったので”apache_2.0.55-win32-x86-no_ssl.exe”をダウンロード。 必要な時に起動させたいのでStandalone設定で。 他は特に入力することないので次へ次へ。 インストールがおわったらスタートメニューのプログラムから”Start Apache in Console”を実行。 ブラウザで”h

  • もっとApacheを知ろう いまさら聞けない!? Web系開発者のためのサーバ知識 第2回 - @IT

    もっとApacheを知ろう:いまさら聞けない!? Web系開発者のためのサーバ知識(2)(1/3 ページ) 自動起動の設定 第1回「Webサーバから始めよう」で手順を追って設置した/etc/rc.d/init.d/httpdというApacheの制御スクリプトは、システム起動時におけるApacheの自動起動に利用できます。 今回は、Linuxのシステム起動時に各種のサーバプログラムを自動的に起動させる方法を、Apacheを例に紹介しておきましょう。 まず、/etc/rc.d/init.d/配下に、サーバ制御スクリプトを設置します。制御スクリプトの内容はサーバプログラムにより異なりますが、多くのパッケージではインストール時に自動で設置されるか、またはサンプルが提供されます。今回の例では、すでに紹介した手順で/etc/rc.d/init.d/httpdを設置済みです。 次に、/etc/rc.d/

    もっとApacheを知ろう いまさら聞けない!? Web系開発者のためのサーバ知識 第2回 - @IT
  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
  • IDEA * IDEA

    ドットインストール代表のライフハックブログ

    IDEA * IDEA
  • cyano: mod_expiresとmod_rewriteを使ってサイトの帯域節約と体感速度を向上させる方法

    普通の帯域節約術としては、mod_deflateでdeflate圧縮するとか、CSSやJSファイルのHTTPレスポンスヘッダにLast-ModifiedやEtagを追加しておいて、ブラウザがHTTPリクエストヘッダにIf-Modified-SinceやIf-None-Matchを付加するようにし、コンテンツが変更されていなかったら304 Not Modifiedを返すという方法を取るかと思います。 しかし、HTTPサーバーはコンテンツの数だけ304 Not Modifiedを返さないといけないため、その分帯域を消費しますし、またCSSや画像などのパーツの304 Not Modifiedが返ってくるまで、そのパーツのレンダリングが行えないという問題があります(つまり体感速度に影響します)。 今回紹介するのはExpiresヘッダやCache-Control: max-age=31536000を