服务器之家:专注于服务器技术及软件下载分享
分类导航

云服务器|WEB服务器|FTP服务器|邮件服务器|虚拟主机|服务器安全|DNS服务器|服务器知识|Nginx|IIS|Tomcat|

服务器之家 - 服务器技术 - Nginx - Nginx 启动脚本/重启脚本代码

Nginx 启动脚本/重启脚本代码

2019-10-09 16:33Nginx教程网 Nginx

Nginx 启动脚本 重启脚本,学习使用centos配置服务器的朋友可以参考下。

第一步 
先运行命令关闭nginx 

sudo kill `cat /usr/local/nginx/logs/nginx.pid` 
第二步 

vi /etc/init.d/nginx 
输入以下内容 

复制代码代码如下:


#!/bin/sh 

# nginx - this script starts and stops the nginx daemin 

# chkconfig: - 85 15 
# description: Nginx is an HTTP(S) server, HTTP(S) reverse \ 
# proxy and IMAP/POP3 proxy server 
# processname: nginx 
# config: /usr/local/nginx/conf/nginx.conf 
# pidfile: /usr/local/nginx/logs/nginx.pid 

# Source function library. 
. /etc/rc.d/init.d/functions 

# Source networking configuration. 
. /etc/sysconfig/network 

# Check that networking is up. 
[ "$NETWORKING" = "no" ] && exit 0 

nginx="/usr/local/nginx/sbin/nginx" 
prog=$(basename $nginx) 

NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf" 

lockfile=/var/lock/subsys/nginx 

start() { 
[ -x $nginx ] || exit 5 
[ -f $NGINX_CONF_FILE ] || exit 6 
echo -n $"Starting $prog: " 
daemon $nginx -c $NGINX_CONF_FILE 
retval=$? 
echo 
[ $retval -eq 0 ] && touch $lockfile 
return $retval 


stop() { 
echo -n $"Stopping $prog: " 
killproc $prog -QUIT 
retval=$? 
echo 
[ $retval -eq 0 ] && rm -f $lockfile 
return $retval 


restart() { 
configtest || return $? 
stop 
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/null 2>&1 


case "$1" in 
start) 
rh_status_q && exit 0 
$1 

stop) 
rh_status_q || exit 0 
$1 

restart|configtest) 
$1 

reload) 
rh_status_q || exit 7 
$1 

force-reload) 
force_reload 

status) 
rh_status 

condrestart|try-restart) 
rh_status_q || exit 0 

*) 
echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}" 
exit 2 
esac 


保存退出 

第三步 

chmod +x /etc/init.d/nginx 
第四步 

/sbin/chkconfig nginx on 
检查一下 

sudo /sbin/chkconfig --list nginx 
nginx 0:off 1:off 2:on 3:on 4:on 5:on 6:off 
完成! 

之后,就可以使用以下命令了 

复制代码代码如下:


service nginx start 
service nginx stop 
service nginx restart 
service nginx reload 

/etc/init.d/nginx start 
/etc/init.d/nginx stop 
/etc/init.d/nginx restart 
/etc/init.d/nginx reload 


下面是其它作者发布的文章

复制代码代码如下:


#vi /etc/init.d/nginx 
#! /bin/sh 
### BEGIN INIT INFO 
# Provides: Nginx-php-fpm(fastcgi) 
# Required-Start: $all 
# Required-Stop: $all 
# Default-Start: 3 5 
# Default-Stop: 0 1 6 
# Short-Description: Start and stop nginx-fcgi in external FASTCGI mode 
# Description: Start and stop nginx-fcgi in external FASTCGI mode 
# http://www.linxutone.org msn:cnseek@msn.com 
### END INIT INFO 

set -e 

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin 
DESC="nginx daemon" 
NAME=nginx 
DAEMON=/usr/local/nginx/sbin/$NAME 
CONFIGFILE=/usr/local/nginx/conf/nginx.conf 
PIDFILE=/var/run/$NAME.pid 
SCRIPTNAME=/etc/init.d/$NAME 

# Gracefully exit if the package has been removed. 
test -x $DAEMON || exit 0 

d_start() { 
/usr/local/php-fcgi/sbin/php-fpm start > /dev/null 2>&1 
$DAEMON -c $CONFIGFILE || echo -n " already running" 


d_stop() { 
/usr/local/php-fcgi/sbin/php-fpm stop > /dev/null 2>&1 
kill -QUIT `cat $PIDFILE` || echo -n " not running" 


d_reload() { 
/usr/local/php-fcgi/sbin/php-fpm reload > /dev/null 2>&1 
kill -HUP `cat $PIDFILE` || echo -n " can't reload" 


case "$1" in 
start) 
echo -n "Starting $DESC: $NAME" 
d_start 
echo "." 

stop) 
echo -n "Stopping $DESC: $NAME" 
d_stop 
echo "." 

reload) 
echo -n "Reloading $DESC configuration ..." 
d_reload 
echo "reloaded." 

restart) 
echo -n "Restarting $DESC: $NAME" 
d_stop 
sleep 1 
d_start 
echo "." 

*) 
echo "Usage: $SCRIPTNAME {start|stop|restart|reload}" >&2 
exit 3 

esac 

exit 0 


#chmod u+x /etc/init.d/nginx 

使用方法: 

复制代码代码如下:


#/etc/init.d/nginx start 
#/etc/init.d/nginx stop 
#/etc/init.d/nginx restart 


注意修改安装路径了 

复制代码代码如下:


#!/bin/bash 

# Init file for nginx server daemon 

# chkconfig: 234 99 99 
# description: nginx server daemon 

# source function library 
. /etc/rc.d/init.d/functions 
# pull in sysconfig settings 
[ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx 
RETVAL=0 
prog="nginx" 
PAT=/usr/local/nginx 
NGINXD=/usr/local/nginx/sbin/nginx 
PID_FILE=/usr/local/nginx/nginx.pid 
start() 

echo -n $"Starting $prog: " 
$NGINXD 2>/dev/null $OPTIONS && success || failure 
RETVAL=$? 
[ "$RETVAL" = 0 ] && touch /var/lock/subsys/nginx 
echo 

stop() 

echo -n $"Shutting down $prog: " 
killproc nginx 
RETVAL=$? 
echo 
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/nginx 
return $RETVAL 

reload() 

echo -n $"Reloading nginx: " 
killproc nginx -HUP 
RETVAL=$? 
echo 
return $RETVAL 

case "$1" in 
start) 
start 

stop) 
stop 

restart) 
stop 
start 

reload) 
reload 

status) 
status -p $PID_FILE nginx 
RETVAL=$? 

*) 
echo $"Usage: $0 {start|stop|restart|reload|status}" 
RETVAL=1 
esac 
exit $RETVAL 

延伸 · 阅读

精彩推荐
  • Nginx利用nginx和腾讯云免费证书制作https的方法

    利用nginx和腾讯云免费证书制作https的方法

    这篇文章主要介绍了利用nginx和腾讯云免费证书制作https的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 ...

    dalaoyang5992019-12-30
  • Nginx如何优化Nginx的处理性能

    如何优化Nginx的处理性能

    Nginx是一个很强大的高性能Web和反向代理服务,它具有很多非常优越的特性,在连接高并发的情况下,Nginx是Apache服务不错的替代品。其特点是占有内存少,...

    Dockone.io5142020-12-11
  • Nginxnginx ssl免密码重启教程详解

    nginx ssl免密码重启教程详解

    这篇文章给大家介绍了nginx 如何启动以及nginx ssl 免密码重启 的方法,非常不错,具有参考借鉴价值,需要的朋友参考下吧 ...

    mrr4272019-11-19
  • Nginx通过Nginx规则重写URL去掉index.php不显示index.php

    通过Nginx规则重写URL去掉index.php不显示index.php

    Nginx不仅占用内存少,并发能力强,而且拓展功能丰富,可以通过安装模板来强化功能,也能通过规则优化,优化服务器并发处理能力,是建站的不二之选...

    Genius日记5872020-10-16
  • Nginxnginx rewrite 伪静态配置参数和使用例子

    nginx rewrite 伪静态配置参数和使用例子

    nginx下伪静态配置参数详细说明,使用nginx的朋友,nginx rewrite 伪静态配置参数和使用例子 附正则使用说明 ...

    服务器之家3102019-10-08
  • NginxNginx Rewrite使用场景及代码案例详解

    Nginx Rewrite使用场景及代码案例详解

    这篇文章主要介绍了Nginx Rewrite使用场景及代码案例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可...

    盗哥泡茶去了11862020-09-27
  • NginxNginx location 和 proxy_pass路径配置问题小结

    Nginx location 和 proxy_pass路径配置问题小结

    本文是基于 location 的匹配末尾是否配置 / 和 proxy_pass 末尾是否配置 / ,进行测试,完全还原了整个测试过程,本文给大家介绍Nginx location 基本配置及相关配...

    自由早晚乱余生18742021-09-24
  • NginxNginx动静分离实现案例代码解析

    Nginx动静分离实现案例代码解析

    这篇文章主要介绍了Nginx动静分离实现案例代码解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参...

    盗哥泡茶去了3382020-09-27