文章目录
启动脚本 #!/bin/bash
set_network_param()
{
sysctl -w fs.file-max=999999
sysctl -w net.ipv4.tcp_tw_reuse=1
sysctl -w net.ipv4.tcp_fin_timeout=15
sysctl -w net.core.netdev_max_backlog=4096
sysctl -w net.core.somaxconn=40960
sysctl -w net.ipv4.tcp_max_syn_backlog=40960
sysctl -w net.ipv4.tcp_syncookies=1
sysctl -w net.ipv4.tcp_syn_retries=2
sysctl -w net.ipv4.tcp_synack_retries=2
return
}
#service start
start()
{
number=`ps -ef | grep "/home/nginx/bin/nginx" | grep -v grep | head -n 1 | wc -l`
if [ $number -ge 1 ];then
fi
set_network_param
ulimit -n 65535
if [ -f "/home/nginx/bin/nginx" ]
then
/home/nginx/bin/nginx -p /home/nginx -c /home/nginx/conf/nginx.conf
fi
number=`ps -ef | grep "/home/nginx/daemon/nginx_daemon" | grep -v grep | head -n 1 | wc -l`
if [ $number -lt 1 ];then
# Do Something
fi
if [ -f "/home/nginx/daemon/nginx_daemon" ]
then
nohup /home/nginx/daemon/nginx_daemon >/dev/null 2>&1 &
fi
}
#service stop
stop()
{
/home/nginx/bin/nginx -p /home/nginx -s stop
}
#parse cmd
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
sleep 1
start
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
;;
esac
exit 0
姑且称之为a.sh 在 /home/nginx 目录下
daemon
通过放入hook文件, 在对应的目录下touch start \ stop \restart 文件 , 实现应用的启停
#!/bin/sh
number=`ps -ef | grep "/home/nginx/daemon/nginx_daemon" | grep -v grep | head -n 1 | wc -l`
if [ $number -lt 1 ];then
#do something
fi
while [ 1 -eq 1 ]
do
if [ -f "/home/nginx/daemon/start" ]; then
rm -rf /home/nginx/daemon/start
/home/nginx/a.sh start
fi
if [ -f "/home/nginx/daemon/stop" ]; then
rm -rf /home/nginx/daemon/stop
/home/nginx/a.sh stop
fi
if [ -f "/home/nginx/daemon/restart" ]; then
rm -rf /home/nginx/daemon/restart
/home/nginx/a.sh restart
fi
sleep 5
done