rsyslog の設定

・注意点

・syslog や syslog-ng とは競合するので、削除するか起動しないようにしておく
・モジュールを追加する際はソースからコンパイルする必要あり。動的追加不可?

・設定ファイル

/etc/sysconfig/rsyslog
 起動オプション
/etc/rsyslog.conf
 全体設定
/etc/rsyslog/*.conf
 個別設定

・前準備

# vi /etc/sysconfig/rsyslog
SYSLOGD_OPTIONS="-c3"

※バージョンをあげて起動

・全体設定

# vi /etc/rsyslog.conf
$ModLoad imuxsock

$ModLoad imudp
$UDPServerRun 514

$ModLoad imtcp
$InputTCPServerRun 514

※UNIXソケットからログを受信できるようにする
※リモートホストのログをUDPの514ポートで受け付ける
※リモートホストのログをTCPの514ポートで受け付ける

・ログを出力

# vi /etc/rsyslog.conf
mail.*	 /var/log/custom.log;

※mail.* に該当するメッセージを /var/log/custom.log に出力する

プレフィックスをつけてログを出力

# vi /etc/rsyslog.conf
$template mytemplate,"日時:%timegenerated% 内容:%msg%\n"
mail.*	 /var/log/custom.log;mytemplate

※mail.* に該当するメッセージを /var/log/custom.log に対して mytemplate の形式で出力する

・動的な名前でログを出力

# vi /etc/rsyslog.conf
$template DynamicFileName1,"/var/log/messages_%$year%%$month%%$day%"
*.*	 ?DynamicFileName1

※/var/log/messages_20121210 のようなファイル名でログを出力

・ホスト名や機器名をつけてログを出力

# vi /etc/rsyslog.conf
$template DynamicFileName3,"/var/log/syslog/%hostname%/%$year%/%$month%/%day%/%programname%.log"
*.*	 ?DynamicFileName3

・主なマクロ

msg
 ログメッセージ
hostname
 ログを出力したホストの名前
fromhost
 ログを受け取ったホストの名前
programname
 プログラム名
syslogfacility
 ファシリティ(数字)
syslogseverity
 プライオリティ(数字)
syslogpriority
 syslogseverityと同等
timegenerated
 ログを受け取った日時
timereported
 ログが出力された日時
timestamp
 timereportedと同等
$now
 現在時刻(YYYY-MM-DD)
$year
 現在の年(YYYY)
$month
 現在の月(MM)
$day
 現在の日(DD)
$hour
 現在の時(hh)
$minute
 現在の分(mm)

※詳細は http://www.rsyslog.com/doc/property_replacer.html を参照。

FreeBSD で Nginx + PHP-FPM

・注意点

・モジュールはビルド時にしか追加できない
・Nginx と PHP-FPM の実行ユーザ:グループが一致していないと動作しないので、合わせること
・ドキュメントルート配下のPHPフォルダ/ファイルには Nginx と PHP-FPM のユーザに実行権限を与えること

PHP-FPM のインストール

# cd /usr/ports/lang/php5
# make config
 // FPMを有効にすること
# make install clean

・Nginx のインストール

# cd /usr/ports/www/nginx
# make config
# make install clean

・Nginx で PHP-FPM を有効にする

# vi /usr/local/etc/nginx/nginx.conf
60行目あたりを変更。
fastcgi_param でドキュメントルートを指定すること。

location ~ \.php$ {
#    root           html;
     fastcgi_pass   127.0.0.1:9000;
     fastcgi_index  index.php;
#    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
     fastcgi_param  SCRIPT_FILENAME  /usr/local/www/nginx$fastcgi_script_name;
     include        fastcgi_params;
}

・起動

# service php-fpm onestart
# service nginx onestart

・モジュールの確認

# nginx -V