在Linux下的启动.停止和重加载

Nginx的启动

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

其中-c参数指定配置文件路径。

Nginx的停止

Nginx支持以下几种信号控制:

- TERM, INT 快速关闭

- QUIT 从容关闭

- HUP 平滑重启

- USR1 重新打开日志文件,在切割文件时用处大

- USR2 平滑升级

- WINCH 从容关闭工作进程

我们可以通过信号停止Nginx主进程,首先,我们需要通过ps -ef|grep命令获得master进程的PID,或者通过cat pid文件获得主进程号。下面是几个典型的停止语句:

双击代码全选

1

2

3

4

5

6

#从容停止Nginx

kill -QUIT master进程号

#快速停止Nginx

kill -TERM master进程号

#强制停止Nginx

kill -9 master进程号

Nginx的重加载

如果改变了配置文件,想重启让其生效,同样可以通过发送系统信号给Nginx主进程,不过,在重启之前,要确认配置文件的语法是正确的,否则将不会加载新的配置项。

通过以下语句测试配置文件语法是否正确:

/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf 其中-t表示测试,并不真正执行。

然后,通过以下命令重加载Nginx配置:

kill -HUP master进程号 执行上面命令之后,Nginx运行新的工作进程,旧工作进程继续为已有的连接服务,等所有旧的连接成功后,旧的工作进程才被关闭。

Nginx的启动脚本

双击代码全选

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

#!/bin/sh

# chkconfig: 2345 85 15

# description:Nginx Server

NGINX_HOME=/usr/local/nginx

NGINX_SBIN=$NGINX_HOME/sbin/nginx

NGINX_CONF=$NGINX_HOME/conf/nginx.conf

NGINX_PID=$NGINX_HOME/logs/nginx.pid

NGINX_NAME="Nginx"

. /etc/rc.d/init.d/functions

if [ ! -f $NGINX_SBIN ]

then

echo "$NGINX_NAME startup: $NGINX_SBIN not exists! "

exit

fi

start() {

$NGINX_SBIN -c $NGINX_CONF

ret=$?

if [ $ret -eq 0 ]; then

action $"Starting $NGINX_NAME: " /bin/true

else

action $"Starting $NGINX_NAME: " /bin/false

fi

}

stop() {

kill `cat $NGINX_PID`

ret=$?

if [ $ret -eq 0 ]; then

action $"Stopping $NGINX_NAME: " /bin/true

else

action $"Stopping $NGINX_NAME: " /bin/false

fi

}

restart() {

stop

start

}

check() {

$NGINX_SBIN -c $NGINX_CONF -t

}

reload() {

kill -HUP `cat $NGINX_PID` && echo "reload success!"

}

relog() {

kill -USR1 `cat $NGINX_PID` && echo "relog success!"

}

case "$1" in

start)

start

;;

stop)

stop

;;

restart)

restart

;;

check|chk)

check

;;

status)

status -p $NGINX_PID

;;

reload)

reload

;;

relog)

relog

;;

*)

echo $"Usage: $0 {start|stop|restart|reload|status|check|relog}"

exit 1

esac

上面是nginx的启动脚本,只要把它拷贝至/etc/init.d目录下,就可以通过service nginx start等目录操作nginx。

除了上面介绍的直接发信号给Nginx主进程的方法之外,我们还可以通过nginx -s命令:

stop — fast shutdown

quit — graceful shutdown

reload — reloading the configuration file

reopen — reopening the log files

(0)

相关推荐

  • linux下开机启动DB2,WAS,TDS服务

    linux下开机启动DB2,WAS,TDS服务 参考链接: http://www.2cto.com/database/201207/141858.html www.2cto.com http://ww ...

  • Linux下如何启动apache也就是httpd服务

    下面是Linux中启动httpd的 /etc/rc.d/init.d/apache 脚本: 这里介绍在Linux中如何启动httpd的服务. 操作方法 01 查看本机Linux是否安装了httpd 0 ...

  • Win7系统中启动界面安全模式无法加载disk.sys的解决方法介绍

    适用范围: ThinkPad,预装Win8,预装Linux,Win7 情况描述: 预装Windows 8或者Linux系统改装Windows 7时会出现卡在正在启动Windows界面或者安全模式卡在加 ...

  • 管理win7系统开机启动项避免其加载相应程序

    我们知道Windows系统中有自带的启动文件夹,它是最常见的启动项目但很多人却很少注意仔细检查它。如果把程序装入到这个文件夹中,系统启动就会自动地加载相应程序,而且因为它是暴露在外的,所以非常容易被外 ...

  • linux下怎么启动mysql服务

    在linux系统中,如果我们安装了Mysql数据库,该如何进行Mysql的相关配置,进而完成mysql服务的相关启动及停止操作呢?本文对此进行相关介绍. 操作方法 01 首先,我们需要修改mysql的 ...

  • Linux环境下如何启动和停止oracle监听和服务

    Oracle数据库系统是非常强大的关系数据库管理系统,在很多项目中被广泛使用.生产环境的oracle数据会有专门的DBA管理员去维护,但在开发环境,大部分情况就需要开发人员自己能够启动和停止oracl ...

  • Linux系统的启动和修复模式

    一. 多种方式安装Linux系统 01 1. 制作安装启动盘 方法一.在DOS/Windows下制做 G:\dosutils> rawrite Enter dis image source fi ...

  • Linux下关闭不必要的系统服务以加快速度

    Linux系统在/etc/rc.d/init.d下定义了很多的系统服务向用户提供,默认情况下这些服务大多都是随机启动,但是很多服务是一般不需要的,或者是你没有进行配置就根本不起作用的,但由于设置成随机 ...

  • 在Win8下如何启动无加载项的IE10浏览器

    IE 在此模式下可以判断浏览器是否由于加载了插件、恶意软件以及 ActiveX 控件等而引起了网页工作不正常、浏览器无法工作、软件冲突等问题。 但是到了 Windows 8 系统下,由于取消了开始菜单 ...