Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 重新加载nginx配置文件_Ruby On Rails_Macos_Nginx - Fatal编程技术网

Ruby on rails 重新加载nginx配置文件

Ruby on rails 重新加载nginx配置文件,ruby-on-rails,macos,nginx,Ruby On Rails,Macos,Nginx,如何在编辑nginx配置文件后重新加载它? 我在Mac上用Rails这个。。。但我对nginx是全新的,所以我真的不知道该怎么做。 我已经研究并尝试了nginx-s重新加载,但这只是返回了一个错误,即没有这样的文件/目录。您可以通过类似systemctl restart nginx或/usr/local/etc/rc.d/nginx restart的方式完全重新启动nginx,或者您可以向其进程发送一个信号,使其重新加载配置:killall-s SIGHUP nginxI像这样做 killall

如何在编辑nginx配置文件后重新加载它? 我在Mac上用Rails这个。。。但我对nginx是全新的,所以我真的不知道该怎么做。
我已经研究并尝试了nginx-s重新加载,但这只是返回了一个错误,即没有这样的文件/目录。

您可以通过类似systemctl restart nginx或/usr/local/etc/rc.d/nginx restart的方式完全重新启动nginx,或者您可以向其进程发送一个信号,使其重新加载配置:killall-s SIGHUP nginx

I像这样做

killall -9 nginx; sleep 1; nginx

我尝试了所有三个建议,终端返回:没有找到属于您的匹配进程。。。没有这样的文件或目录。。。和systemctl:未找到命令。这可能是应用程序有问题吗?没有。从你使用的标签我看到,你正在使用OSX。我不知道如何在OSX上重新启动服务,但由于它或多或少与posix兼容,所以信号解决方案的效果最好。也就是说:如果您没有killall命令,请尝试使用ps查找nginx PID,并使用kill:kill-s SIGHUP 1234发送信号,-s重新加载的目的不是为了避免转换之间的停机吗?使用restart或killall是一种常见的误解,认为killall只能用于终止进程。相反,它可以发送信号,其中一个是SIGUSR1,另一个是SIGHUP。这些都不会杀死进程,但它们可以由正在运行的进程处理并执行一些操作。如果SIGHUP是重新加载的,请参见此处:如果您使用的是外部logrotate机制,那么SIGUSR1也很有用。如果您使用的是外部logrotate机制,那么SIGUSR1可能会重复,那么您至少有整整一秒钟的纯停机时间,恭喜您。这取决于你在做什么,可能会引起很多问题。