centos/rhel下实现nginx自启动脚本实例
通常在centos、rhel的OS下,我们大多是通过chkconfig来管理服务,比如开机自动启动服务之类。
这里给大家介绍一个很好用的nginx启动脚本。以及简单的使用,如下:
1.执行如下命令:
vim/etc/init.d/nginxd
2.输入如下内容:
注意:该文件中的如下几个变量,都需要根据你实际的目录来改写。
nginx="/usr/local/nginx/sbin/nginx"##nginx的可执行文件路径 lockfile="/var/nginx/nginx.lock"##需要先创建/var/nginx目录 NGINX_CONF_FILE="/etc/nginx/nginx.conf"##需要先创建该配置文件 #!/bin/sh # #nginx-thisscriptstartsandstopsthenginxdaemon # #chkconfig:-8515 #description:NginxisanHTTP(S)server,HTTP(S)reverse\ #proxyandIMAP/POP3proxyserver #processname:nginx #Sourcefunctionlibrary. ./etc/rc.d/init.d/functions #Sourcenetworkingconfiguration. ./etc/sysconfig/network #Checkthatnetworkingisup. ["$NETWORKING"="no"]&&exit0 nginx="/usr/local/nginx/sbin/nginx" prog=$(basename$nginx) sysconfig="/etc/sysconfig/$prog" lockfile="/var/nginx/nginx.lock" pidfile="/var/nginx/${prog}.pid" NGINX_CONF_FILE="/etc/nginx/nginx.conf" [-f$sysconfig]&&.$sysconfig start(){ [-x$nginx]||exit5 [-f$NGINX_CONF_FILE]||exit6 echo-n$"Starting$prog:" daemon$nginx-c$NGINX_CONF_FILE retval=$? echo [$retval-eq0]&&touch$lockfile return$retval } stop(){ echo-n$"Stopping$prog:" killproc-p$pidfile$prog retval=$? echo [$retval-eq0]&&rm-f$lockfile return$retval } restart(){ configtest_q||return6 stop start } reload(){ configtest_q||return6 echo-n$"Reloading$prog:" killproc-p$pidfile$prog-HUP echo } configtest(){ $nginx-t-c$NGINX_CONF_FILE } configtest_q(){ $nginx-t-q-c$NGINX_CONF_FILE } rh_status(){ status$prog } rh_status_q(){ rh_status>/dev/null2>&1 } #Upgradethebinarywithnodowntime. upgrade(){ localoldbin_pidfile="${pidfile}.oldbin" configtest_q||return6 echo-n$"Upgrading$prog:" killproc-p$pidfile$prog-USR2 retval=$? sleep1 if[[-f${oldbin_pidfile}&&-f${pidfile}]];then killproc-p$oldbin_pidfile$prog-QUIT success$"$progonlineupgrade" echo return0 else failure$"$progonlineupgrade" echo return1 fi } #Tellnginxtoreopenlogs reopen_logs(){ configtest_q||return6 echo-n$"Reopening$proglogs:" killproc-p$pidfile$prog-USR1 retval=$? echo return$retval } case"$1"in start) rh_status_q&&exit0 $1 ;; stop) rh_status_q||exit0 $1 ;; restart|configtest|reopen_logs) $1 ;; force-reload|upgrade) rh_status_q||exit7 upgrade ;; reload) rh_status_q||exit7 $1 ;; status|status_q) rh_$1 ;; condrestart|try-restart) rh_status_q||exit7 restart ;; *) echo$"Usage:$0{start|stop|reload|configtest|status|force-reload|upgrade|restart|reopen_logs}" exit2 esac
保存完毕之后,可以执行以下命令来启动nginx
chmod777/etc/init.d/nginxd /etc/init.d/nginxdstart
3.配置开机启动
执行以下命令:
chkconfignginxdon
可以以下命令查看是否成功
chkconfig--list|grepnginxd