如何重新启动nginx?

对我来说,我运行“killall nginx”并启动它“sbin / nginx”,任何人都有一个更好的重启脚本?

BTW:我从源安装nginx,我找不到'service nginx'命令或/etc/init.d/nginx

nginx包提供了一个/etc/init.d/nginx脚本,它提供了通常的start | stop | restart | reload …function。

/etc/init.d/nginx restart

将重新启动nginx

一如既往

service nginx restart

编辑

是一个可以用作/etc/init.d/nginx的脚本的链接。

http://wiki.nginx.org/CommandLine

里面的链接有一些命令用于启动和停止nginx服务器

用于启动nginx:

 /usr/bin/nginx 

停止nginx:

 /usr/bin/nginx -s stop 

/usr/bin取决于你安装你的nginx的位置

编辑configuration文件之后,我在OpenBSD上像这样重新启动它:

 kill -HUP `cat /var/run/nginx.pid` && date && sleep 1 && \ tail -2 /var/www/logs/error.log ; date 

HUP信号使其重新读取其configuration文件, tail显示是否遇到任何错误, date将这些错误放入上下文中(仅当从date的时间与日志中的时间匹配时才发生错误),以及sleep 1确保在nginx已经有时间写入日志之前从日志中读取数据之间没有竞争条件。

这是它的样子:

 Cns# kill -HUP `cat /var/run/nginx.pid` && date && sleep 1 && tail -2 /var/www/logs/error.log ; date Tue Feb 12 10:58:52 PST 2013 2013/02/12 10:03:35 [emerg] 8120#0: directive "set" is not terminated by ";" in /etc/nginx/conf.d/etc.ngx.grok/bxr.su.conf:226 2013/02/12 10:04:19 [emerg] 8120#0: invalid return code "$uri_def" in /etc/nginx/conf.d/etc.ngx.grok/bxr.su.conf:231 Tue Feb 12 10:58:53 PST 2013 Cns# 

从日志开始的时间不是按date打印的时间这一事实表明这次没有遇到任何错误,新的configuration是一个很好的configuration。

您可以在Nginx Wiki中findinit脚本: http ://wiki.nginx.org/Configuration#Init_Scripts

重启function运行以下命令:

 BASEDIR= $BASEDIR/sbin/nginx -s stop $BASEDIR/sbin/nginx $BASEDIR/conf/nginx.conf 

如果您已将nginx安装在/ opt / nginx中,请将BASEDIR= BASEDIR=/opt/nginxreplace。

通常,从源代码安装的软件包不会在/etc/init.d/安装启动脚本。 你有两个select。

1-您可以在源代码目录或网站上查找脚本,并根据需要进行自定义。

2-您可以从系统中复制另一个软件包的启动脚本并对其进行自定义。