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

第一步
先运行命令关闭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

(0)

相关推荐

  • nginx 多站点配置方法集合

    那么我们开始吧: 1.为我们的站点创建配置文件 我是这么做的,在nginx的配置文件conf目录下创建一个专门存放VirtualHost的目录,命名为vhosts_conf,可以把虚拟目录的配置全部放在这里.在里面创建名为vhosts_modoupi_websuitA.conf的配置文件并打开,我们在这里做配置,往里面写: 复制代码 代码如下: server { listen 80; #监听的端口号 server_name websuitA.com; #域名 #access_log logs/h

  • Nginx 下配置SSL证书的方法

    1.Nginx 配置 ssl 模块 默认 Nginx 是没有 ssl 模块的,而我的 VPS 默认装的是 Nginx 0.7.63 ,顺带把 Nginx 升级到 0.7.64 并且 配置 ssl 模块方法如下: 下载 Nginx 0.7.64 版本,解压 进入解压目录: 复制代码 代码如下: wget http://sysoev.ru/nginx/nginx-0.7.64.tar.gz tar zxvf nginx-0.7.64.tar.gz cd nginx-0.7.64 如果要更改heade

  • Nginx伪静态配置和常用Rewrite伪静态规则集锦

    nginx里使用伪静态是直接在nginx.conf 中写规则的,并不需要像apache要开启写模块(mod_rewrite)才能进行伪静态. nginx只需要打开nginx.conf配置文件,在server里面写需要的规则即可. 复制代码 代码如下: server { listen       80; server_name  bbs.jb51.net; index index.html index.htm index.php; root  /home/www/bbs; error_page 

  • Nginx下301重定向域名的方法小结

    linux中nginx 301重定向跳转方法总结,有需要的朋友可参考一下. 第一种情况:访问aaaaaaa站定向到bbbbbbbbbbb站 复制代码 代码如下: server { server_naaaaaaame www.aaaaaaa.com ; rewrite ^(.*) http://www.bbbbbbbbbbb.com$1 permaaaaaaanent; } 第二种情况:不是访问aaaaaaa站的全部重定向到指定页面 复制代码 代码如下: server { server_naaaa

  • NGINX下配置404错误页面的方法分享

    1. 创建自己的404.html页面 2.更改nginx.conf在http定义区域加入: fastcgi_intercept_errors on; 3.更改nginx.conf(或单独网站配置文件,例如在nginx -> sites-enabled下的站点配置文件 ) 中在server 区域加入: error_page 404 = /404.html 或者 error_page 404 = http://www.xxx.com/404.html 4.更改后重启nginx,,测试nginx.co

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

    正则表达式匹配,其中: * ~ 为区分大小写匹配 * ~* 为不区分大小写匹配 * !~和!~*分别为区分大小写不匹配及不区分大小写不匹配 文件及目录匹配,其中: * -f和!-f用来判断是否存在文件 * -d和!-d用来判断是否存在目录 * -e和!-e用来判断是否存在文件或目录 * -x和!-x用来判断文件是否可执行 flag标记有: * last 相当于Apache里的[L]标记,表示完成rewrite * break 终止匹配, 不再匹配后面的规则 * redirect 返回302临时重

  • Nginx和PHP-FPM的启动、重启、停止脚本分享

    服务器上的Nginx和PHP都是源码编译安装的,不像ubuntu一样有自带service启动脚本,所以不支持类似以前的nginx (start|restart|stop|reload)了.自己动手丰衣足食.以下脚本应该在RHEL, Fedora, CentOS下都适用. 一.Nginx启动脚本/etc/init.d/nginx 复制代码 代码如下: #!/bin/bash # # Startup script for Nginx - this script starts and stops th

  • CentOS+Nginx+PHP+MySQL详细配置(图解)

    一.安装MySQL 目前web服务器已经很少有跑静态页面的,如果要跑动态网站那当然就离不开数据库,虽然在以前文章中有写MySQL是怎么安装的,但是感觉好久没装MySQL,现在只把步骤贴出来,就不做过多的讲解了 #useradd mysql #tar zxvf mysql-5.0.40.tar.gz #cd mysql-5.0.40 #./configure --prefix=/usr/local/mysql #make && make install #/usr/local/mysql/b

  • nginx日志配置指令详解

    日志对于统计排错来说非常有利的.本文总结了nginx日志相关的配置如access_log.log_format.open_log_file_cache.log_not_found.log_subrequest.rewrite_log.error_log. nginx有一个非常灵活的日志记录模式.每个级别的配置可以有各自独立的访问日志.日志格式通过log_format命令来定义.ngx_http_log_module是用来定义请求日志格式的. 1. access_log指令 语法: access_

  • nginx 如何实现读写限流的方法

    nginx 读写限流 前段时间,开发了一个供外部调用的api,领导说要限流,请求单个IP,每秒50读次,写10次 万能的nginx,几行配置搞定 # 先定义好规则,需要写在server外面 limit_req_zone $binary_remote_addr $uri zone=api_write:20m rate=10r/s; # 写 limit_req_zone $binary_remote_addr $uri zone=api_read:20m rate=50r/s; # 读 # 把需要限

  • 一句简单命令重启nginx

    但研究了一下nginx帮助后发现,有-s参数可对nginx服务进行管理: # /usr/local/nginx/sbin/nginx -h nginx version: nginx/0.7.63 Usage: nginx [-?hvVt] [-s signal] [-c filename] [-p prefix] [-g directives] Options: -?,-h : this help -v : show version and exit -V : show version and

  • nginx 作为反向代理实现负载均衡的例子

    nginx 这个轻量级.高性能的 web server 主要可以干两件事情: 〉直接作为http server(代替apache,对PHP需要FastCGI处理器支持): 〉另外一个功能就是作为反向代理服务器实现负载均衡 以下我们就来举例说明如何使用 nginx 实现负载均衡.因为nginx在处理并发方面的优势,现在这个应用非常常见.当然了Apache的 mod_proxy和mod_cache结合使用也可以实现对多台app server的反向代理和负载均衡,但是在并发处理方面apache还是没有

随机推荐