Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I'm currently trying to setup Nginx for a domain with production, testing and development stages. Each comes with it's own partial Nginx config file with rewrites.

The production and testing stages are set up as branches from a Git repository and automatic reloading of these configurations in Git's post-receive hook. This all works just fine.

The development stage I'd like to transmit using SFTP using Netbeans' "SFTP-on-save" as I don't need version control at this granularity and it's a bit more direct. However, here I have no such thing as git's post-receive hook to trigger Nginx to reload config upon upload.

In Apache, .htaccess files would just load dynamically. Is there anything similar in Nginx and/or how could I simulate this? Ideally a solution that reloads the config files only and immediately when changed.

share|improve this question

2 Answers 2

up vote 4 down vote accepted

If you can't use a post-receive hook, perhaps you can use inotify to watch for changes in the nginx configuration.

In this case, you would use incrond and incrontab to set up a watch on specified files and actions to take when those files change. Something like this in the incrontab:

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

Here's the man page for incrontab. You should be able to find other documentation and examples for using the inotify toolset that will fit your configuration.

share|improve this answer
    
Would it be possible to match for a wildcard? "Like /var/www/*/nginx.*.conf" or "nginx.*"? –  Martijn Dec 1 '12 at 15:55

As cjc said, inotify and service nginx reload are the commands you are looking for.

Check out this post from nixCraft which gives a great explanation on how to configure inotify.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.