blob: 68ab38a4cb709f7dbf42300da5aa12a84dc6b453 [file] [log] [blame] [raw]
#!/bin/zsh
NGINX_CONFIG=`pwd`/nginx.conf
NGINX_TEMP_CONFIG=`pwd`/.nginx.thisrun.conf
NGINX_OPT=( -p `pwd`/
-c $NGINX_TEMP_CONFIG
)
cp -fv $NGINX_CONFIG $NGINX_TEMP_CONFIG
VALGRIND_OPT=( --trace-children=yes --track-fds=no --track-origins=yes --read-var-info=yes )
WORKERS=5
NGINX_DAEMON="off"
NGINX_CONF="working_directory \"`pwd`\"; "
ACCESS_LOG="\\/dev\\/null"
ERRLOG_LEVEL="notice"
for opt in $*; do
if [[ "$opt" = <-> ]]; then
WORKERS=$opt
fi
case $opt in
leak|leakcheck)
VALGRIND_OPT+=("--leak-check=full" "--show-leak-kinds=all");;
valgrind)
valgrind=1;;
access)
ACCESS_LOG="\\/dev\\/stdout";;
worker|one|single)
WORKERS=1
;;
debug|kdbg)
WORKERS=1
NGINX_DAEMON="on"
debugger=1
;;
debuglog)
ERRLOG_LEVEL="debug"
;;
esac
done
NGINX_CONF="worker_processes $WORKERS; daemon $NGINX_DAEMON; $NGINX_CONF"
NGINX_OPT+=( -g "$NGINX_CONF" )
#echo $NGINX_CONF
#echo $NGINX_OPT
echo "nginx $NGINX_OPT"
sed "s|\(access_log\).*|\1 $ACCESS_LOG;|g" $NGINX_TEMP_CONFIG -i
sed "s|\(^\s*error_log\s\+\S\+\).*|\1 $ERRLOG_LEVEL;|g" $NGINX_TEMP_CONFIG -i
if [[ $debugger == 1 ]]; then
./nginx $NGINX_OPT
sleep 0.2
master_pid=`cat /tmp/pushmodule-test-nginx.pid`
child_pid=`pgrep -P $master_pid`
sudo kdbg -p $child_pid ./nginx
kill $master_pid
elif [[ $valgrind == 1 ]]; then
pushd ./coredump >/dev/null
valgrind $VALGRIND_OPT ../nginx $NGINX_OPT
popd >/dev/null
else
./nginx $NGINX_OPT
fi