微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

centOS 6.5 Nginx 配置开机启动

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

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

vim/etc/init.d/Nginx

在脚本中添加如下命令:

#!/bin/sh
#
#Nginx-thisscriptstartsandstopstheNginxdaemon
#
#chkconfig:-8515
#description:NginxisanHTTP(S)server,HTTP(S)reverse\
#proxyandIMAP/POP3proxyserver
#processname:Nginx
#config:/etc/Nginx/Nginx.conf
#config:/etc/sysconfig/Nginx
#pidfile:/var/run/Nginx.pid
#Sourcefunctionlibrary.
./etc/rc.d/init.d/functions
#Sourcenetworkingconfiguration.
./etc/sysconfig/network
#Checkthatnetworkingisup.
["$NETWORKING"="no"]&&exit0
Nginx="/usr/sbin/Nginx"
prog=$(basename$Nginx)
Nginx_CONF_FILE="/etc/Nginx/Nginx.conf"
[-f/etc/sysconfig/Nginx]&&./etc/sysconfig/Nginx
lockfile=/var/lock/subsys/Nginx
make_dirs(){
#makerequireddirectories
user=`$Nginx-V2>&1|grep"configurearguments:"|sed's/[^*]*--user=\([^]*\).*/\1/g'-`
if[-z"`grep$user/etc/passwd`"];then
useradd-M-s/bin/nologin$user
fi
options=`$Nginx-V2>&1|grep'configurearguments:'`
foroptin$options;do
if[`echo$opt|grep'.*-temp-path'`];then
value=`echo$opt|cut-d"="-f2`
if[!-d"$value"];then
#echo"creating"$value
mkdir-p$value&&chown-R$user$value
fi
fi
done
}
start(){
[-x$Nginx]||exit5
[-f$Nginx_CONF_FILE]||exit6
make_dirs
echo-n$"Starting$prog:"
daemon$Nginx-c$Nginx_CONF_FILE
retval=$?
echo
[$retval-eq0]&&touch$lockfile
return$retval
}
stop(){
echo-n$"Stopping$prog:"
killproc$prog-QUIT
retval=$?
echo
[$retval-eq0]&&rm-f$lockfile
return$retval
}
restart(){
configtest||return$?
stop
sleep1
start
}
reload(){
configtest||return$?
echo-n$"Reloading$prog:"
killproc$Nginx-HUP
RETVAL=$?
echo
}
force_reload(){
restart
}
configtest(){
$Nginx-t-c$Nginx_CONF_FILE
}
rh_status(){
status$prog
}
rh_status_q(){
rh_status>/dev/null2>&1
}
case"$1"in
start)
rh_status_q&&exit0
$1
;;
stop)
rh_status_q||exit0
$1
;;
restart|configtest)
$1
;;
reload)
rh_status_q||exit7
$1
;;
force-reload)
force_reload
;;
status)
rh_status
;;
condrestart|try-restart)
rh_status_q||exit0
;;
*)
echo$"Usage:$0{start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"
exit2
esac

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

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

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

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

chmoda+x/etc/init.d/Nginx

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

/etc/init.d/Nginxstart
/etc/init.d/Nginxstop

使用chkconfig进行管理

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

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

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

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

serviceNginxstart
serviceNginxstop

设置终端模式开机启动:

chkconfigNginxon

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



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

#!/bin/bash
#NginxStartupscriptfortheNginxHTTPServer
#itisv.0.0.2version.
#chkconfig:-8515
#description:Nginxisahigh-performancewebandproxyserver.
#Ithasalotoffeatures,butit'snotforeveryone.
#processname:Nginx
#pidfile:/var/run/Nginx.pid
#config:/usr/local/Nginx/conf/Nginx.conf
Nginxd=/usr/local/Nginx/sbin/Nginx
Nginx_config=/usr/local/Nginx/conf/Nginx.conf
Nginx_pid=/var/run/Nginx.pid
RETVAL=0
prog="Nginx"
#Sourcefunctionlibrary.
./etc/rc.d/init.d/functions
#Sourcenetworkingconfiguration.
./etc/sysconfig/network
#Checkthatnetworkingisup.
[${NETWORKING}="no"]&&exit0
[-x$Nginxd]||exit0
#StartNginxdaemonsfunctions.
start(){
if[-e$Nginx_pid];then
echo"Nginxalreadyrunning...."
exit1
fi
echo-n$"Starting$prog:"
daemon$Nginxd-c${Nginx_config}
RETVAL=$?
echo
[$RETVAL=0]&&touch/var/lock/subsys/Nginx
return$RETVAL
}
#StopNginxdaemonsfunctions.
stop(){
echo-n$"Stopping$prog:"
killproc$Nginxd
RETVAL=$?
echo
[$RETVAL=0]&&rm-f/var/lock/subsys/Nginx/var/run/Nginx.pid
}
#reloadNginxservicefunctions.
reload(){
echo-n$"Reloading$prog:"
#kill-HUP`cat${Nginx_pid}`
killproc$Nginxd-HUP
RETVAL=$?
echo
}
#Seehowwewerecalled.
case"$1"in
start)
start
;;
stop)
stop
;;
reload)
reload
;;
restart)
stop
start
;;
status)
status$prog
RETVAL=$?
;;
*)
echo$"Usage:$prog{start|stop|restart|reload|status|help}"
exit1
esac
exit$RETVAL

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。