Apacheの設定反映後に、再起動するのが面倒だ。
再起動コマンド
sudo apachectl restart
たったこれだけなんだけど、ちょっと面倒だったりする
頻繁に設定を書き換えてrewrite 細かく調整してたり、cgi 設定してたり・・・
launchctl で自動再起動
PathをWatchして、自動再起動を仕込んでおく
plist 作成
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>biz.takuya.apache</string> <key>ProgramArguments</key> <array> <string>/usr/sbin/apachectl</string> <string>restart</string> </array> <key>onDemand</key> <true/> <key>StandardErrorPath</key> <!-- <string>/dev/null</string>--> <string>/tmp/apachectl.error.log.txt</string> <key>StandardOutPath</key> <!-- <string>/dev/null</string> --> <string>/tmp/apachectl.stdout.log.txt</string> <key>WatchPaths</key> <array> <string>/private/etc/apache2/</string> <string>/private/etc/apache2/extra/</string> <string>/private/etc/apache2/original/</string> <string>/private/etc/apache2/original/extra/</string> <string>/private/etc/apache2/other/</string> <string>/private/etc/apache2/users/</string> </array> </dict> </plist>
plist をコピー
rootの launchagents として設定を仕込んでおく
sudo su -l cp my.plist /Library/LaunchAgents/biz.takuya.apache.plist
登録
sudo su -l %cd /Library/LaunchAgents %launchctl load biz.takuya.apache.plist %launchctl list | grep takuya - 0 biz.takuya.apache
登録できたので、あとは設定書き込み後に、再起動するか監視
watch -dc -n pgrep httpd
これで、設定をアレコレ試すのがちょっとだけ楽になった。