centOS 6.5 Nginx 配置开机启动

前端之家收集整理的这篇文章主要介绍了centOS 6.5 Nginx 配置开机启动前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

Nginx 是一个很强大的高性能Web和反向代理服务器。虽然使用命令行可以对Nginx进行各种操作,比如启动等,但是还是根据不太方便。下面介绍在Linux下安装后,如何设置开机自启动。

首先,在linux系统的/etc/init.d/目录下创建Nginx文件,使用如下命令:

  1. vim/etc/init.d/Nginx

在脚本中添加如下命令:

  1. #!/bin/sh
  2. #
  3. #Nginx-thisscriptstartsandstopstheNginxdaemon
  4. #
  5. #chkconfig:-8515
  6. #description:NginxisanHTTP(S)server,HTTP(S)reverse\
  7. #proxyandIMAP/POP3proxyserver
  8. #processname:Nginx
  9. #config:/etc/Nginx/Nginx.conf
  10. #config:/etc/sysconfig/Nginx
  11. #pidfile:/var/run/Nginx.pid
  12. #Sourcefunctionlibrary.
  13. ./etc/rc.d/init.d/functions
  14. #Sourcenetworkingconfiguration.
  15. ./etc/sysconfig/network
  16. #Checkthatnetworkingisup.
  17. ["$NETWORKING"="no"]&&exit0
  18. Nginx="/usr/sbin/Nginx"
  19. prog=$(basename$Nginx)
  20. Nginx_CONF_FILE="/etc/Nginx/Nginx.conf"
  21. [-f/etc/sysconfig/Nginx]&&./etc/sysconfig/Nginx
  22. lockfile=/var/lock/subsys/Nginx
  23. make_dirs(){
  24. #makerequireddirectories
  25. user=`$Nginx-V2>&1|grep"configurearguments:"|sed's/[^*]*--user=\([^]*\).*/\1/g'-`
  26. if[-z"`grep$user/etc/passwd`"];then
  27. useradd-M-s/bin/nologin$user
  28. fi
  29. options=`$Nginx-V2>&1|grep'configurearguments:'`
  30. foroptin$options;do
  31. if[`echo$opt|grep'.*-temp-path'`];then
  32. value=`echo$opt|cut-d"="-f2`
  33. if[!-d"$value"];then
  34. #echo"creating"$value
  35. mkdir-p$value&&chown-R$user$value
  36. fi
  37. fi
  38. done
  39. }
  40. start(){
  41. [-x$Nginx]||exit5
  42. [-f$Nginx_CONF_FILE]||exit6
  43. make_dirs
  44. echo-n$"Starting$prog:"
  45. daemon$Nginx-c$Nginx_CONF_FILE
  46. retval=$?
  47. echo
  48. [$retval-eq0]&&touch$lockfile
  49. return$retval
  50. }
  51. stop(){
  52. echo-n$"Stopping$prog:"
  53. killproc$prog-QUIT
  54. retval=$?
  55. echo
  56. [$retval-eq0]&&rm-f$lockfile
  57. return$retval
  58. }
  59. restart(){
  60. configtest||return$?
  61. stop
  62. sleep1
  63. start
  64. }
  65. reload(){
  66. configtest||return$?
  67. echo-n$"Reloading$prog:"
  68. killproc$Nginx-HUP
  69. RETVAL=$?
  70. echo
  71. }
  72. force_reload(){
  73. restart
  74. }
  75. configtest(){
  76. $Nginx-t-c$Nginx_CONF_FILE
  77. }
  78. rh_status(){
  79. status$prog
  80. }
  81. rh_status_q(){
  82. rh_status>/dev/null2>&1
  83. }
  84. case"$1"in
  85. start)
  86. rh_status_q&&exit0
  87. $1
  88. ;;
  89. stop)
  90. rh_status_q||exit0
  91. $1
  92. ;;
  93. restart|configtest)
  94. $1
  95. ;;
  96. reload)
  97. rh_status_q||exit7
  98. $1
  99. ;;
  100. force-reload)
  101. force_reload
  102. ;;
  103. status)
  104. rh_status
  105. ;;
  106. condrestart|try-restart)
  107. rh_status_q||exit0
  108. ;;
  109. *)
  110. echo$"Usage:$0{start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"
  111. exit2
  112. esac

这个脚本其实也不是我写的,谁写的呢,Nginx官方写的,脚本地址:http://wiki.nginx.org/RedHatNginxInitScript,不过要注意,如果你是自定义编译安装的Nginx,需要根据您的安装路径修改下面这两项配置:

Nginx=”/usr/sbin/Nginx修改Nginx执行程序的路径。

Nginx_CONF_FILE=”/etc/Nginx/Nginx.conf” 修改配置文件的路径。

保存脚本文件设置文件的执行权限

  1. chmoda+x/etc/init.d/Nginx

然后,就可以通过该脚本对Nginx服务进行管理了:

  1. /etc/init.d/Nginxstart
  2. /etc/init.d/Nginxstop

使用chkconfig进行管理

上面的方法完成了用脚本管理Nginx服务的功能,但是还是不太方便,比如要设置Nginx开机启动等。这时可以使用chkconfig来设置。

先将Nginx服务加入chkconfig管理列表:

  1. chkconfig--add/etc/init.d/Nginx

加完这个之后,就可以使用service对Nginx进行启动,重启等操作了。

  1. serviceNginxstart
  2. serviceNginxstop

设置终端模式开机启动:

  1. chkconfigNginxon

chkconfig命令的使用方法,就不多数啦,可以自行搜索



另外这里还有一个网友分享的脚本(脚本地址:http://blog.163.com/qsc0624@126/blog/static/140324073201312734548701/):

  1. #!/bin/bash
  2. #NginxStartupscriptfortheNginxHTTPServer
  3. #itisv.0.0.2version.
  4. #chkconfig:-8515
  5. #description:Nginxisahigh-performancewebandproxyserver.
  6. #Ithasalotoffeatures,butit'snotforeveryone.
  7. #processname:Nginx
  8. #pidfile:/var/run/Nginx.pid
  9. #config:/usr/local/Nginx/conf/Nginx.conf
  10. Nginxd=/usr/local/Nginx/sbin/Nginx
  11. Nginx_config=/usr/local/Nginx/conf/Nginx.conf
  12. Nginx_pid=/var/run/Nginx.pid
  13. RETVAL=0
  14. prog="Nginx"
  15. #Sourcefunctionlibrary.
  16. ./etc/rc.d/init.d/functions
  17. #Sourcenetworkingconfiguration.
  18. ./etc/sysconfig/network
  19. #Checkthatnetworkingisup.
  20. [${NETWORKING}="no"]&&exit0
  21. [-x$Nginxd]||exit0
  22. #StartNginxdaemonsfunctions.
  23. start(){
  24. if[-e$Nginx_pid];then
  25. echo"Nginxalreadyrunning...."
  26. exit1
  27. fi
  28. echo-n$"Starting$prog:"
  29. daemon$Nginxd-c${Nginx_config}
  30. RETVAL=$?
  31. echo
  32. [$RETVAL=0]&&touch/var/lock/subsys/Nginx
  33. return$RETVAL
  34. }
  35. #StopNginxdaemonsfunctions.
  36. stop(){
  37. echo-n$"Stopping$prog:"
  38. killproc$Nginxd
  39. RETVAL=$?
  40. echo
  41. [$RETVAL=0]&&rm-f/var/lock/subsys/Nginx/var/run/Nginx.pid
  42. }
  43. #reloadNginxservicefunctions.
  44. reload(){
  45. echo-n$"Reloading$prog:"
  46. #kill-HUP`cat${Nginx_pid}`
  47. killproc$Nginxd-HUP
  48. RETVAL=$?
  49. echo
  50. }
  51. #Seehowwewerecalled.
  52. case"$1"in
  53. start)
  54. start
  55. ;;
  56. stop)
  57. stop
  58. ;;
  59. reload)
  60. reload
  61. ;;
  62. restart)
  63. stop
  64. start
  65. ;;
  66. status)
  67. status$prog
  68. RETVAL=$?
  69. ;;
  70. *)
  71. echo$"Usage:$prog{start|stop|restart|reload|status|help}"
  72. exit1
  73. esac
  74. exit$RETVAL

使用此脚本的时候,也同样需要将配置路径修改成自己的

猜你在找的CentOS相关文章