Compilez vous-même Nginx

Ceux qui utilisent Debian et comptent sur Nginx ne pourront tôt ou tard plus s'en sortir avec les modules intégrés. La solution : compiler Nginx vous-même.

Dernière mise à jour le 09.06.2019

Ce qui semble compliqué au premier abord est assez simple en pratique et convient à un usage quotidien - ce blog fonctionne avec une version auto-compilée. Nginx 1.11.1. Bien qu'elle ne soit pas compliquée, certaines conditions sont nécessaires pour compiler Nginx sur Debian 7.6 ou Debian 8 (Jessie) elle-même :

# apt-get install build-essential
# apt-get install libpcre3 libpcre3-dev libpcrecpp0 libssl-dev zlib1g-dev


Une fois que cela est fait, il est temps de compiler Nginx lui-même. Vous devez d'abord télécharger la version actuelle de nginx.orgpuis déballer :

# mkdir nginx_temp && cd nginx_temp
# wget http://nginx.org/download/nginx-1.11.1.tar.gz
# tar xvfz nginx-1.11.1.tar.gz && cd nginx-1.11.1

Il faut maintenant définir les options de configuration correctes pour que les répertoires Debian continuent à être utilisés. C'est pratique si vous avez déjà utilisé Nginx auparavant. De cette façon, vous n'avez pas à réajuster la configuration du serveur et pouvez continuer directement avec la nouvelle version de Nginx.

./configure --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx --with-compat --with-file-aio --with-threads --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_flv_module --with-http_gunzip_module ---with-http_gzip_static_modules --with-http_mp4_modules --with-http_random_index_modules --with-http_realip_modules --with-http_secure_link_modules --with-http_slice_modules --with-http_ssl_modules --with-http_stub_status_modules --with-http_sub_module --with-http_v2_module --with-mail --with-mail_ssl_module --with-stream --with-stream_realip_module --with-stream_ssl_module --with-stream_ssl_preread_module --with-cc-opt='-g -O2 -fdebug-prefix-map=/data/builder/debuild/nginx-1.17.0/debian/debuild-base/nginx-1.17.0=. -fstack-protector-strong -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fPIC' --with-ld-opt='-Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -pie' --with-openssl=/usr/local/src/openssl --add-module=/usr/local/src/nginx/incubator-pagespeed-ngx-1.13.35.2-stable --add-module=/usr/local/src/nginx/ngx_brotli

Les dernières instructions font référence à des modules tiers supplémentaires qui peuvent être obtenus sur le Wiki Nginx. Avec cela, en plus d'un module PageSpeed, on obtient également la possibilité, le microcache à supprimer. Si vous n'utilisez pas ces modules, vous pouvez omettre les instructions configure correspondantes.
Après cela, il ne reste plus qu'à compiler et installer Nginx pour que la nouvelle version de Nginx soit disponible :

# make && make install

Qu'est-ce que tu en retires ? En utilisant la version actuelle de Nginx, vous bénéficiez également de fonctionnalités supplémentaires qui font défaut à la version standard de Nginx. Ce n'est qu'alors que vous pourrez utiliser tout le potentiel du serveur web slim et utiliser les possibilités offertes par le module ngx_pagespeed.

De plus amples informations sur le thème des "sites web rapides" sont disponibles à l'adresse suivante Boost-for-Websites.com!

3 commentaires

  1. Bonjour,

    Tout d'abord, merci pour votre tutoriel. J'ai une installation Owncloud sur un Raspberry et je la fais fonctionner avec NGINX et une base de données MySQL. Ma version actuelle de NGINX est 1.2.1. Malheureusement, j'obtiens un message d'erreur avec la dernière commande : make : *** Il n'existe aucune règle pour construire la cible,
    requis par "défaut", à créer. Conclusion.
    Tu as une idée de ce que j'ai fait de mal ? Malheureusement, je ne suis pas très versé dans Linux... Donc cela m'aiderait de connaître la commande exacte que je dois entrer pour compiler. Salutations, Dnaiel

    1. Avez-vous installé les Build Essentials (la première étape) ? Je ne l'ai pas encore essayé sur un Raspberry Pi avec Raspbian, si vous devez faire attention à quelque chose de spécial. En principe, cependant, la procédure devrait fonctionner comme sous x86 Linux, je vais y jeter un autre coup d'oeil.

      Avez-vous essayé la dernière version du site web de Nginx ?

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *