web-dev-qa-db-fra.com

Installation de modules Nginx optionnels avec apt-get

J'ai actuellement Nginx installé via les instructions sur le site Nginx:

nginx=stable
Sudo su -
add-apt-repository ppa:nginx/$nginx
apt-get update 
apt-get install

J'ai configuré Nginx et il fonctionne très bien depuis un petit moment. Maintenant, je veux ajouter des modules personnalisés - disons, le pload Progress Module . Les instructions de ce module indiquent d'ajouter --add-module=path/to/nginx_uploadprogress_module à ton ./configure commande. Cependant, je n'ai pas installé Nginx à partir des sources.

Quelle est la meilleure façon de gérer cette situation? Est-il possible de dire APT de compiler à partir de la source et de passer des options à ./configure? Puis-je compiler l'installation existante? Qu'en est-il des chemins - comment les faire correspondre? Ou dois-je supprimer la version gérée APT et recommencer?

40
Michelle Tilley

Installez dpkg-dev:

Sudo apt-get install dpkg-dev

Ajouter un référentiel:

Sudo add-apt-repository ppa:nginx/stable

Éditer /etc/apt/sources.list.d/nginx-stable-lucid.list, ajoutez dpkg-src:

deb http://ppa.launchpad.net/nginx/stable/ubuntu lucid main
deb-src http://ppa.launchpad.net/nginx/stable/ubuntu lucid main

note: (l'étape précédente peut avoir déjà été effectuée automatiquement sur Ubuntu> = 12.04 - assurez-vous également que vous modifiez lucid pour refléter votre version)

Resynchronisez les fichiers d'index du package:

Sudo apt-get update

Obtenez des sources:

apt-get source nginx

Construire des dépendances:

Sudo apt-get build-dep nginx

Editez nginx-0.8.54/debian/rules:

config.status.full: config.env.full config.sub config.guess
...
--add-module=path/to/nginx_uploadprogress_module

Construire le package:

cd nginx-0.8.54 && dpkg-buildpackage -b

Installer les packages:

Sudo dpkg --install nginx-common_1.2.4-2ubuntu0ppa1~precise_all.deb

Sudo dpkg --install nginx-full_1.2.4-2ubuntu0ppa1~precise_AMD64.deb
58
alvosu

Depuis squeeze dans Debian et depuis oneric dans Ubuntu, il y a certains (comme headers-more-module J'avais besoin) dans

apt-get install nginx-extras
29
Victor Sergienko

L'installation de Nginx à partir de la source est nécessaire si vous souhaitez y ajouter un module supplémentaire/(tiers). S'il est installé via la source, Nginx ne peut pas être utilisé comme service et logrotate n'est pas configuré pour Nginx. Suivez cette méthode pour l'installer avec toutes les fonctionnalités que vous obtenez en installant via apt-get

1

Un article doux qui peut être lu ici expliquera les informations détaillées sur la compilation des modules dans nginx. Fondamentalement, vous devez recompiler le nginx chaque fois que vous souhaitez installer un module.

Également similaire à cela méthode fonctionnera également.

 wget 'http://nginx.org/download/nginx-1.9.3.tar.gz'
 tar -xzvf nginx-1.9.3.tar.gz 
 cd nginx-1.9.3 /}.____. .____.] --add-module =/path/to/headers-more-nginx-module 
 make 
 make install 
0
ElvinD