1 votes

Nginx et les mises à jour automatiques

Je suis sur Ubuntu 12.04.1 avec unattended-upgrades configuré pour les mises à jour de sécurité automatiques, et j'ai installé Nginx en ajoutant d'abord

deb http://nginx.org/packages/ubuntu/ lucid nginx
deb-src http://nginx.org/packages/ubuntu/ lucid nginx

à /etc/apt/sources.list comme cela a été suggéré par le wiki officiel et ensuite par

sudo apt-get update
sudo apt-get install nginx

qui a installé Nginx avec tous les modules standards. Mais je pense maintenant que je pourrais faire bon usage d'un ou deux des modules optionnels de Nginx, comme le module de précompression gzip ou un module lié à la sécurité. Jusqu'à présent, je vois deux manières d'ajouter un module optionnel à Nginx, l'une consiste à compiler et installer à partir du code source et l'autre est décrite dans le document cet article .

Alors, laquelle des méthodes dois-je choisir pour que les mises à jour automatiques continuent de fonctionner et de s'appliquer à Nginx ? et ses modules optionnels ? Ou devrais-je créer une tâche cron avec une commande/script spécifique pour Nginx au lieu d'utiliser unattended-upgrades utilitaire ? Puis-je choisir entre les mises à jour de volume et les mises à jour de sécurité uniquement pour qu'elles soient automatiquement appliquées à la version standard de l'utilitaire de sécurité ? et modules optionnels ? Et enfin, existe-t-il une possibilité de mettre à jour automatiquement les modules de Nginx à la volée (sans qu'aucune connexion n'ait été interrompue), comme la fonction documentation suggère que c'est possible avec

sudo kill -USR2 $( cat /run/nginx.pid )

P.S. En fait, je ne suis pas certain si unattended-upgrades mettrait automatiquement à jour les modules standard, mais il ne s'est pas écoulé assez de temps depuis l'installation de Nginx pour en être sûr.

1voto

dcharles Points 149

unattended-upgrades ne fonctionne que pour les applications que vous avez installées à l'aide du gestionnaire de paquets et auxquelles est associé un dépôt de paquets. Fondamentalement, la façon dont les mises à niveau/mises à jour fonctionnent en général est qu'il y a un mécanisme de comparaison que la mise à jour surveille. Lorsque cette comparaison donne des valeurs différentes pour l'application installée par rapport à ce qui se trouve dans le référentiel, une séquence de mise à jour est déclenchée (soit la mise à jour est automatique, soit l'utilisateur est invité à la faire, en fonction de la configuration et des changements).

Lorsque vous recompilez une application, à l'aide de l'une ou l'autre des méthodes que vous avez mentionnées (la méthode de Stan est, en fait, également une recompilation, elle utilise juste dpkg au lieu de make Si vous n'êtes pas en mesure de le faire, vous pouvez interrompre votre installation en dehors du référentiel.

Ceci est reflété dans le poste de Stan par :

Après la mise à niveau vers une nouvelle version de nginx, ce paquet recompilé sera écrasé. Vous devrez recommencer ce processus.

Par conséquent, votre meilleure chance sera d'utiliser une tâche cron et un script personnalisé pour gérer la mise à jour automatique pour Nginx. La bonne nouvelle est, cependant, que vous devriez être en mesure d'automatiser l'ensemble du processus si vous êtes prêt à faire l'effort d'écrire et de tester le script approprié. Une fois que vous l'avez installé la première fois, le script ne devrait pas avoir à se soucier des dépendances, il suffit de tirer la nouvelle source et de reconstruire avec les options que vous voulez.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X