Apache

Apache 2.4.27 から Prefork では、HTTP/2 が無効であることを今さら知った

estis2019/05/05 (日) 20:57 に投稿

http://www.apache.org/dist/httpd/CHANGES_2.4

Changes with Apache 2.4.27

*) COMPATIBILITY: mod_http2: Disable and give warning when using Prefork.
     The server will continue to run, but HTTP/2 will no longer be negotiated.
     [Stefan Eissing]

とある。

Apache エラーログのエラー種類毎に件数をまとめたいので

estis2014/03/12 (水) 23:34 に投稿

Apache エラーログの種類毎に件数をまとめたいのだが、エラーの種類を全て網羅したかどうかがわからない。
それを何とかしたかったので、bash(と一部awk)で強引にスクリプトを作った。

#!/bin/sh

MYIFS=$IFS
IFS="
"

ERROR_LIST=error.list
TARGET_FILE=$1
WHILE_CHK=1

errors_extract(){
	true
	# Apacheエラーログからエラー内容のみを抽出
}

new_pattern(){
	echo -n "*** Not use / *** Input New Pattern: "
        read PATTERN
        echo $PATTERN >> $ERROR_LIST
}

error_chk(){
	for i in $(cat $TARGET_FILE)
	do
		echo 0 > match_chk 
		echo 0 > Not_match_chk 
		for j in $(cat $ERROR_LIST)
		do

Apache KeepAlive の確認方法 のひとつ

estis2014/01/05 (日) 23:57 に投稿

phpinfo コマンドの出力結果に、
apache2handler セクションがあれば、その
Max Requests の項目のところで確認できる。
そのすぐ下にある Timeouts 項目にも関連情報がある。

Max Requests Per Child: 10000 - Keep Alive: on - Max Per Connection: 100
Timeouts Connection: 300 - Keep-Alive: 5

というようになっている。

R で、Apacheの処理時間をリクエスト毎にプロットしたいと思ったのだ その1 データ準備編

estis2013/05/26 (日) 11:40 に投稿

Apacheのログフォーマットが、
"%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %D"
の時。

ログの例

192.168.24.51 - - [26/May/2013:10:55:49 +0900] "GET /R/ HTTP/1.1" 200 901 "http://192.168.24.85/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_3) AppleWebKit/536.29.13 (KHTML, like Gecko) Version/6.0.4 Safari/536.29.13" 2063
192.168.24.51 - - [26/May/2013:10:55:49 +0900] "GET /icons/blank.gif HTTP/1.1" 304 - "http://192.168.24.85/R/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_3) AppleWebKit/536.29.13 (KHTML, like Gecko) Version/6.0.4 Safari/536.29.13" 624

Apacheアクセスログからユーザーエージェント毎で集計する

estis2012/10/08 (月) 04:23 に投稿

ログフォーマットが、combinedであることを想定している。

awk -F\" '{UA[$6]++;x++}END{for(i in UA)printf "%s %i %.2f% \n", i, UA[i], UA[i]/x*100}' access_log

出力結果
Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html) 1 25.00%
SAMSUNG-SGH-E250/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0 (compatible; Googlebot-Mobile/2.1; +http://www.google.com/bot.html) 1 25.00%
Mozilla/5.0 (Windows NT 6.1; rv:11.0) Gecko/20100101 Firefox/11.0 2 50.00%

出現数の降順で並べ替えたいときは

SSLRequireSSL

estis2010/09/22 (水) 22:14 に投稿

例えば、
<Directory /var/www/html/ssl>
SSLRequireSSL
</Directory>
と書くと、指定したディレクトリ以下へには、HTTPSでないと接続できない。

HTTPだと、403 Forbidden の応答コードが返ってくる。

HTTP/0.9 200 OK

estis2010/09/04 (土) 00:25 に投稿

PHPが、'--with-zlib' でコンパイルされていて、
デフォルトの設定が、

output_handler no value
zlib.output_compression Off
zlib.output_compression_level -1
zlib.output_handler no value

となっている時、
.htaccessに、

php_value output_handler mb_output_handler
php_flag zlib.output_compression On

と記述して、.htaccessと同一ディレクトリ以下のファイルにアクセスすると、
サーバーからの応答ヘッダーが、
HTTP/0.9 200 OK
となり、実際には0バイトのデータが送信されてくる。

Google Chrome だと、

Apache2.2 prefork.c ServerLimit MaxClients

estis2010/05/29 (土) 07:37 に投稿

Apache2.2系のデフォルト

<IfModule prefork.c>
StartServers       8
MinSpareServers    5
MaxSpareServers   20
ServerLimit      256
MaxClients       256
MaxRequestsPerChild  4000
</IfModule>

ServerLimit、MaxClientsのデフォルト上限値は、200000。

# httpd -t
WARNING: ServerLimit of 400000 exceeds compile time limit of 200000 servers,
 lowering ServerLimit to 200000.
WARNING: MaxClients of 400000 exceeds ServerLimit value of 200000 servers,
 lowering MaxClients to 200000.  To increase, please see the ServerLimit
 directive.