PC関係のメモ
ログローテート / [server]Naver の IP から大量アクセス / [PHP]エラー/ログ関係の設定 / [server][Apache]負荷分散・チューニングいろいろ覚書
ログローテート
/usr/local/apache/logs/host1-access_log /usr/local/apache/logs/host2-access_log
{
rotate 50
daily
sharedscripts
postrotate
/bin/kill -HUP `cat /usr/local/apache/logs/httpd.pid 2> /dev/null` 2> /dev/null
EXT=`date +%Y%m%d`
for f in $1;
do mv $f.1 $f.$EXT;
/bin/gzip -f $f.$EXT
done
endscript
}
Naver の IP から大量アクセス
名前引きできない IP からのアクセスが大量にあるので調べてみたら Naverbot だった。Naverbot は Googlebot を詐称したり(robots.txt へのアクセス時)あまりお行儀が良くないようで。
エラー/ログ関係の設定
エラー表示を抑制する。これは php.ini より個々のスクリプト内で書いた方がデバッグしやすい
ini_set("display_errors", 0);
ログを取る
log_errors = On error_log = /var/log/php
負荷分散・チューニングいろいろ覚書
* ロードバランサ * LVS * mod_rewrite * proxy * APC , "PHP Accelerator"
未来像 / tDiary 2.00を入れた
未来像
いろいろなことを話した結果、今後の目標は「25歳の俺はシャア」ということに。<酔っ払い
あと、明日(すでに今日)24時間テレビだ。チェックせねば。
tDiary 2.00を入れた
このメモに使ってるtDiaryを1.5.7から最新版の2.0.0にバージョンアップした。
メジャーアップデートの目玉と思われる「狭義のウェブログツール三種の神器」はすでに入れてたから、今のところ目立った変化は感じられない。
と、思ったら吐き出すRDFのフォーマットが若干変わってるかな?
realloc()の正しい使い方
a)正しくない使い方
char* buf;
buf = (char*)malloc(1024 * sizeof(char));
if(buf == NULL){
return -1;
}
buf = (char*)realloc(buf, 2048 * sizeof(char));
if(buf == NULL){
/* bufが解放されない */
return -1;
}
b)正しい使い方
char* tmp;
char* buf;
buf = (char*)malloc(1024 * sizeof(char));
if(buf == NULL){
return -1;
}
tmp = (char*)realloc(buf, 2048 * sizeof(char));
if(tmp == NULL){
/* bufを解放 */
free(buf);
return -1;
}
buf = tmp;
確保する領域のポインタと、エラー判定するための戻り値のポインタが同じだとmallocした領域が解放できない。
最近はメモリが潤沢にあるせいかmalloc()、realloc()のエラー判定自体してないソースもよく見かける。
HP DL360 G5をキッティング中 / RedHat Enterprise Linux 5のyumがRedHat Networkからパッケージを取得しない
HP DL360 G5をキッティング中
某用途向け仮想環境用に、HP DL380 G5をキッティング中。
追加パーツは下記。
- CPU Xeon E5430 2.66GHz
- メモリ 2GB
- リダンダントパワーサプライ
- DVD-ROMドライブ
- SASディスク146GB×4
総スペックとしてはこんな感じ。
- CPU Xeon E5430 2.66GHz × 2(計8コア)
- メモリ 4GB(1GB×4)
- リダンダントパワーサプライ × 2
- SASディスク146GB×4(3本でRAID5構成、1本はホットスペア)
仮想環境としてはメモリ容量が心許ないけど、まだスロットが4本余ってるので後々拡張余地は有り。
RedHat Enterprise Linux 5のyumがRedHat Networkからパッケージを取得しない
RHEL5からはup2dateに変わってyumが採用されている。
インストール後、とりあえずopenssh-serverパッケージをインストールしようとしたところ失敗。「そんなパッケージはありません」と言われる。
# yum install openssh-server
まずは、下記を確認。
- RHNのサイトに対象サーバが正常に登録されているか。
- ソフトウェアアップデーターを使って登録を行い、RHNのサイトで同ホストが登録されていることを確認した。
結論としては「yum-rhn-plugin」がインストールされていなかったことが原因。
CD1より上記パッケージをインストールしたところ無事実行できた。
今回始めてテクニカルサポートを受けたんだが、そもそもCentOSなら上記症状にはならなかったんだよね…。
ググっても情報少ないし、やっぱり今度からCentOSにしたいな(;・∀・)


_ hajime [ツッコミメールのテスト]
_ hajime [送信先を変更してさらにテスト。]