我的服务器上有Alpine Linux,3.15.0版本。安装的nginx版本是1.21.6。我执行了apk update
nginx -t
命令成功响应
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
当我键入nginx -s reload
时,服务器响应为
2023/02/03 10:58:00 [notice] 54#54: signal process started
但实际上什么也没发生。就像过程开始了,仅此而已。
我错过了什么?
1条答案
按热度按时间4ktjp1zp1#
根据Nginx文档,命令
nginx -s reload
实际上向nginx主进程发送信号,并且一旦主进程接收到重新加载配置的信号,它就检查新配置文件的语法有效性,并尝试应用其中提供的配置。2如果成功,主进程启动新工作进程,并向旧工作进程发送消息,请求它们关闭。
因此,我们可以认为nginx被重新启动(如果我们忽略主进程本身继续工作的事实)。
同时,如果你想完全重新启动nginx,你可以用
nginx -s quit
命令停止它,然后重新启动。或者使用你的系统服务管理器会更好。如果我没有记错的话,在Alpine中有一个open-rc,因此命令将是rc-service nginx restart
。