如何dynamic地重新加载nginxconfiguration

我目前正在尝试将Nginx设置为具有生产,testing和开发阶段的域。 每个都有它自己的部分Nginx的configuration文件与重写。

生产和testing阶段被设置为Git仓库的分支,并在Git的post-receive钩子中自动重新加载这些configuration。 这一切工作得很好。

我希望使用Netbeans的“SFTP-on-save”使用SFTP来传输开发阶段,因为我不需要在这个粒度上进行版本控制,而是更直接一些。 不过,在这里我没有git的post-receive钩子来触发Nginx重新上传configuration。

在Apache中,.htaccess文件只会dynamic加载。 在Nginx中是否有类似的内容,或者我怎么能模拟这个? 理想情况下,只有在更改configuration文件时才会立即重新加载configuration文件。

如果你不能使用post-receive hook,也许你可以使用inotify来监视nginxconfiguration的变化。

在这种情况下,您可以使用incrondincrontab设置指定文件的监视,以及这些文件更改时要采取的操作。 在incrontab中是incrontab

 /etc/nginx/nginx.conf IN_MODIFY /etc/init.d/nginx reload 

这是incrontab的手册页 。 您应该能够find其他文档和示例来使用适合您的configuration的inotify工具集。

正如cjc所说, inotifyservice nginx reload是你正在寻找的命令。

从nixCraft中查看这个post,它给出了如何configurationinotify的一个很好的解释。