如何重启nginx?


95

对我来说,我运行“ killall nginx”并通过“ sbin / nginx”启动它,有人有更好的重启脚本吗?

顺便说一句:我从源代码安装nginx,我找不到'service nginx'命令或/etc/init.d/nginx


1
为什么要从源代码安装?Nginx软件包可用于大多数良好的Server linux发行版。或者,您可以滚动自己的程序包,但不使用程序包会给维护人员带来麻烦。
汤姆·奥康纳

由于mod_rails
拉里

Answers:


149

nginx软件包提供了/etc/init.d/nginx脚本,该脚本提供了通常的start | stop | restart | reload ...功能。

/etc/init.d/nginx restart

将重启nginx

一如既往

service nginx restart

编辑

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


2
取决于您的存储库。Nginx源不提供初始化脚本,因此,如果您希望从源进行更新和编译,则必须从Wiki中获取一个。
Martin Fjordvald 2010年

1
在回答问题之前,我必须先
喝点

服务nginx重新启动指向什么,并且对init.d / nginx进行更改时是否应该重新加载某些内容?我的两个命令(/etc/init.d/nginx和服务nginx)似乎不同步。
Danny

@丹尼:不知道我2年前写的。
user9517

15

http://wiki.nginx.org/CommandLine

链接内有一些用于启动和停止Nginx服务器的命令

用于启动nginx:

/usr/bin/nginx

用于停止nginx:

/usr/bin/nginx -s stop

/usr/bin 取决于您在哪里安装Nginx


4

由于某种原因,在嵌入式系统上,我正在研究的是:

systemctl restart nginx

1
这个问题和大多数答案已经八岁了,已经过时了。那是“某些原因”。这是在当前Linux操作系统上执行此操作的正确方法。
迈克尔·汉普顿

好的,所以也许这不仅适用于嵌入式系统
cardamom

1

编辑配置文件后,我在OpenBSD上重新启动它:

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

HUP信号使其重新读取其配置文件,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表明,这次没有遇到任何错误,新配置是一个很好的配置。


0

您可以在NginX Wiki中找到初始化脚本:http ://wiki.nginx.org/Configuration#Init_Scripts

重新启动功能运行以下命令:

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

如果您已将Nginx安装在/ opt / nginx中,请替换BASEDIR=BASEDIR=/opt/nginx


0

通常,从源安装的软件包不会在处安装启动脚本/etc/init.d/。您有两个选择。

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

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.