Advertisement
Guest User

Untitled

a guest
Jul 26th, 2017
342
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.17 KB | None | 0 0
  1. #!/bin/sh
  2. #
  3. # nginx Startup script for nginx
  4. #
  5. # chkconfig: - 85 15
  6. # processname: nginx
  7. # config: /etc/nginx/nginx.conf
  8. # config: /etc/sysconfig/nginx
  9. # pidfile: /var/run/nginx.pid
  10. # description: nginx is an HTTP and reverse proxy server
  11. #
  12. ### BEGIN INIT INFO
  13. # Provides: nginx
  14. # Required-Start: $local_fs $remote_fs $network
  15. # Required-Stop: $local_fs $remote_fs $network
  16. # Default-Start: 2 3 4 5
  17. # Default-Stop: 0 1 6
  18. # Short-Description: start and stop nginx
  19. ### END INIT INFO
  20.  
  21. # Source function library.
  22. . /etc/rc.d/init.d/functions
  23.  
  24. if [ -L $0 ]; then
  25. initscript=`/bin/readlink -f $0`
  26. else
  27. initscript=$0
  28. fi
  29.  
  30. sysconfig=`/bin/basename $initscript`
  31.  
  32. if [ -f /etc/sysconfig/$sysconfig ]; then
  33. . /etc/sysconfig/$sysconfig
  34. fi
  35.  
  36. nginx=${NGINX-/usr/sbin/nginx}
  37. prog=`/bin/basename $nginx`
  38. conffile=${CONFFILE-/etc/nginx/nginx.conf}
  39. lockfile=${LOCKFILE-/var/lock/subsys/nginx}
  40. pidfile=${PIDFILE-/var/run/nginx.pid}
  41. SLEEPMSEC=${SLEEPMSEC-200000}
  42. UPGRADEWAITLOOPS=${UPGRADEWAITLOOPS-5}
  43. RETVAL=0
  44.  
  45. start() {
  46. echo -n $"Starting $prog: "
  47.  
  48. daemon --pidfile=${pidfile} ${nginx} -c ${conffile}
  49. RETVAL=$?
  50. echo
  51. [ $RETVAL = 0 ] && touch ${lockfile}
  52. return $RETVAL
  53. }
  54.  
  55. stop() {
  56. echo -n $"Stopping $prog: "
  57. killproc -p ${pidfile} ${prog}
  58. RETVAL=$?
  59. echo
  60. [ $RETVAL = 0 ] && rm -f ${lockfile} ${pidfile}
  61. }
  62.  
  63. reload() {
  64. echo -n $"Reloading $prog: "
  65. killproc -p ${pidfile} ${prog} -HUP
  66. RETVAL=$?
  67. echo
  68. }
  69.  
  70. upgrade() {
  71. oldbinpidfile=${pidfile}.oldbin
  72.  
  73. configtest -q || return
  74. echo -n $"Starting new master $prog: "
  75. killproc -p ${pidfile} ${prog} -USR2
  76. echo
  77.  
  78. for i in `/usr/bin/seq $UPGRADEWAITLOOPS`; do
  79. /bin/usleep $SLEEPMSEC
  80. if [ -f ${oldbinpidfile} -a -f ${pidfile} ]; then
  81. echo -n $"Graceful shutdown of old $prog: "
  82. killproc -p ${oldbinpidfile} ${prog} -QUIT
  83. RETVAL=$?
  84. echo
  85. return
  86. fi
  87. done
  88.  
  89. echo $"Upgrade failed!"
  90. RETVAL=1
  91. }
  92.  
  93. configtest() {
  94. if [ "$#" -ne 0 ] ; then
  95. case "$1" in
  96. -q)
  97. FLAG=$1
  98. ;;
  99. *)
  100. ;;
  101. esac
  102. shift
  103. fi
  104. ${nginx} -t -c ${conffile} $FLAG
  105. RETVAL=$?
  106. return $RETVAL
  107. }
  108.  
  109. rh_status() {
  110. status -p ${pidfile} ${nginx}
  111. }
  112.  
  113. # See how we were called.
  114. case "$1" in
  115. start)
  116. rh_status >/dev/null 2>&1 && exit 0
  117. start
  118. ;;
  119. stop)
  120. stop
  121. ;;
  122. status)
  123. rh_status
  124. RETVAL=$?
  125. ;;
  126. restart)
  127. configtest -q || exit $RETVAL
  128. stop
  129. start
  130. ;;
  131. upgrade)
  132. rh_status >/dev/null 2>&1 || exit 0
  133. upgrade
  134. ;;
  135. condrestart|try-restart)
  136. if rh_status >/dev/null 2>&1; then
  137. stop
  138. start
  139. fi
  140. ;;
  141. force-reload|reload)
  142. reload
  143. ;;
  144. configtest)
  145. configtest
  146. ;;
  147. *)
  148. echo $"Usage: $prog {start|stop|restart|condrestart|try-restart|force-reload|upgrade|reload|status|help|configtest}"
  149. RETVAL=2
  150. esac
  151.  
  152. exit $RETVA
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement