Nginx'i bir ters proxy olarak kullanıyorum.
Bunu kullanarak her yapılandırmayı her güncellediğimde
sudo "cp -r #{nginx_config_path}* /etc/nginx/sites-enabled/"
sudo "kill -s HUP `cat /var/run/nginx.pid`"
Kısa bir kesinti ile karşı karşıyayım. Bundan nasıl kurtulabilirim?
Koşmak
service nginx reload veya
/etc/init.d/nginx reload
Kesinti olmadan yapılandırmanın yeniden yüklenmesini sağlar. Bekleyen istekleriniz varsa, o bağlantılardan önce bu bağlantıları ele alacak kalıcı nginx süreçleri olacak, bu yüzden yapılandırmaları yeniden yüklemek için son derece zarif bir yoldur.
Bazen baştan başlamak isteyebilirsiniz
sudo
Koşmak
/usr/sbin/nginx -s reload
Görmek http://wiki.nginx.org/CommandLine Daha fazla komut satırı seçeneği için.
Hayır, yanlışsınız, tanımladığınız prosedürle herhangi bir aksama yaşamanız gerekmiyor. (Nginx, yalnızca herhangi bir arıza süresine gerek kalmadan yeniden yüklemeyi yapamaz, ancak yürütülebilir programın süreksiz kalmasına rağmen, herhangi bir kesinti yaşanmaz.)
Göre http://nginx.org/docs/control.html#reconfiguration, göndererek
HUP nginx sinyali, zarif bir yeniden başlatma gerçekleştirdiğinden emin olur ve yapılandırma dosyaları hatalıysa, tüm yordam iptal edilir ve siz göndermeden önce nginx ile kalırsınız.
HUP sinyali. Hiçbir noktada herhangi bir kesinti mümkün olmamalıdır.
Nginx'in yapılandırma dosyasını yeniden okuması için ana işleme bir HUP sinyali gönderilmelidir. Ana işlem ilk önce sözdizimi geçerliliğini kontrol eder, ardından yeni yapılandırmayı, yani günlük dosyalarını ve yeni dinleme soketlerini uygulamayı dener. Bu başarısız olursa, değişiklikleri geri alır ve eski yapılandırma ile çalışmaya devam eder.
Genellikle, bir hizmetin yapılandırma dosyasını yeniden yüklemek, çalışan hizmeti etkilememelidir. Ancak, bu nasıl
SIGHUP sinyal işlenir.
Belirli bir hizmet yeniden yükleme sırasında bir kesinti yaşanıyorsa, bu aynı hizmeti tercihen bir yük dengeleyici kullanarak birden fazla sunucuda çalıştırarak engellenebilir. Bu durumda, bir seferde bir sunucu çıkarabilir ve yeniden yükleyebilir / yeniden başlatabilirsiniz. Daha sonra, teyit ettikten sonra tekrar eklenebilir.