Comment recompiler le serveur Web Nginx sur Debian Linux

Comment recompiler le serveur Web Nginx sur Debian Linux

Disons que vous souhaitez apporter des modifications à nginx code source dans
afin d'ajouter ou de supprimer certaines fonctionnalités avant le réel nginx
Installation du package. Dans cette configuration, nous montrerons comment recompiler
nginx Package sur Debian Linux.

Les outils de construction de packages d'installation d'abord:

# apt-get install dpkg-dev 

Ensuite, nous devons installer tout nginx Construire les dépendances:

# apt-get build-dep nginx 

Télécharger nginx code source:

$ mkdir nginx-local $ cd nginx-local / $ apt-get source nginx 

La commande ci-dessus téléchargera tous les besoins nécessaires nginx fichiers source
être modifié pour construire *.deb paquet debian.

$ arbre -l 2 . ├fiques nginx-1.6.2 │ ├fique.Ru │ ├── Conf │ ├── Configurez │ ├fique contribue │ ├fique.6.2-5.Debian.le goudron.xz ├fique.6.2-5.dsc └fique.6.2.origine.le goudron.Répertoires GZ 8, 8 fichiers 

À titre d'exemple, nous pouvons maintenant modifier le code source pour modifier le nom des serveurs Web à partir de
nginx pour Serveur Web privé Labnix. Modifier
nginx-1.6.2 / src / http / ngx_http_header_filter_module.c
lignes

De: statique char ngx_http_server_string [] = "Server: nginx" crlf; char ngx_http_server_full_string [] = "Server:" Nginx_ver CRLF; Vers: statique char Ngx_Http_Server_String [] = "Server: Labnix Private Web Server" CRLF; char ngx_http_server_full_string [] = "Server: serveur Web privé Labnix" CRLF; 

Une fois que vous avez effectué toutes les modifications nécessaires au code source de Nginx
Il est temps de construire un nouveau *.deb emballer:

$ cd nginx-1.6.2 / $ dpkg-buildpackage -rfakeroot -uc -b… dpkg-deb --build debian / nginx… dpkg-deb: package de construction 'nginx' in '… / nginx_1.6.2-5_all.deb '. DPKG-DEB --BUILD DIBIAN / NGINX-DOC… DPKG-DEB: Package de construction 'nginx-doc' in '… / nginx-doc_1.6.2-5_all.deb '. DPKG-DEB --BUILD debian / nginx-Common… DPKG-DEB: Building Pack.6.2-5_all.deb '. DPKG-DEB --BUILD DIBIAN / NGINX-Full… DPKG-DEB: Building Pack.6.2-5_AMD64.deb '. DPKG-DEB --Build Debian / Nginx-Full-Dbg… DPKG-DEB: Package de construction 'Nginx-Full-dbg' dans '… / nginx-full-dbg_1.6.2-5_AMD64.deb '. DPKG-DEB --BUILD DIBIAN / NGINX-LIGHT… DPKG-DEB: Package de construction 'nginx-light' in '… / nginx-light_1.6.2-5_AMD64.deb '. DPKG-DEB --BUILD debian / nginx-light-dbg… DPKG-DEB: Package de construction 'nginx-light-dbg' in '… / nginx-light-dbg_1.6.2-5_AMD64.deb '. dpkg-deb --build debian / nginx-extras… dpkg-deb: package de construction 'nginx-extras' dans '… / nginx-extras_1.6.2-5_AMD64.deb '. DPKG-DEB --BUILD debian / nginx-Extras-dbg… DPKG-DEB: Package de construction 'Nginx-Extras-dbg' dans '… / nginx-extras-dbg_1.6.2-5_AMD64.deb '. dpkg-genchanges -b>… / nginx_1.6.2-5_AMD64.Modifications DPKG-Genchanges: téléchargement binaire uniquement (aucun code source inclus) DPKG-SOURCE - Auss-Build Nginx-1.6.2 dpkg-buildPackage: téléchargement binaire uniquement (aucune source incluse) 

Les nouveaux forfaits re-compliqués sont maintenant prêts à être installés:

$ cd… $ ls nginx-1.6.2 nginx_1.6.2-5_AMD64.modifie nginx_1.6.2-5.dsc nginx-common_1.6.2-5_all.deb nginx-extras_1.6.2-5_AMD64.deb nginx-full_1.6.2-5_AMD64.deb nginx-light_1.6.2-5_AMD64.deb nginx_1.6.2-5_all.deb nginx_1.6.2-5.Debian.le goudron.xz nginx_1.6.2.origine.le goudron.gz nginx-doc_1.6.2-5_all.deb nginx-extras-dbg_1.6.2-5_AMD64.deb nginx-full-dbg_1.6.2-5_AMD64.deb nginx-light-dbg_1.6.2-5_AMD64.deb 

Installer nginx à partir de packages nouvellement construits:

# dpkg -i nginx_1.6.2-5_all.deb nginx-full_1.6.2-5_AMD64.Deb nginx-Common_1.6.2-5_all.deb nginx-doc_1.6.2-5_all.deb 

Vérifier l'état de l'état du serveur Web:

 Systemctl Status Nginx nginx.Service - Un serveur Web haute performance et un serveur proxy inversé chargé: chargé (/ lib / systemd / system / nginx.service; activé) actif: actif (en cours d'exécution) depuis le mercredi 2015-04-15 09:46:53 AEST; 1min 18S Ago Process: 3535 execstart = / usr / sbin / nginx -g démon sur; Master_Process on; (Code = Overt, Status = 0 / Success) Processus: 3534 EXECSTARTPRE = / USR / SBIN / NGINX -T -Q -G DAEON ON; Master_Process on; (Code = EXITED, Status = 0 / Success) Pid principal: 3538 (nginx) cgroup: / System.tranche / nginx.Service ├fiques3538 Nginx: Master Process / USR / SBIN / NGINX -g Daemon on; Master_Process on; ├─3539 Nginx: Processus des travailleurs ├fique 

Confirmer les modifications du nom du serveur:

# curl -i http: // localhost http / 1.1 200 OK Server: Labnix Private Web Server Date: Tue, 14 avril 2015 23:49:37 GMT Content-Type: Text / HTML Content-Length: 867 Last-Modified: Tue, 14 avr 2015 23:45:07 GMT Connection : Keep-Alive Etag: "552DA683-363" "Accept-Ranges: octets 

Tutoriels Linux connexes:

  • Choses à installer sur Ubuntu 20.04
  • Comment imprimer l'arbre du répertoire à l'aide de Linux
  • Guide des débutants sur la commande dpkg linux
  • Installez le fichier deb sur Ubuntu 22.04 Jammy Jellyfish Linux
  • Installez Arch Linux dans VMware Workstation
  • Choses à installer sur Ubuntu 22.04
  • Choses à faire après l'installation d'Ubuntu 20.04 Focal Fossa Linux
  • Tutoriel de débogage GDB pour les débutants
  • Python Expressions régulières avec des exemples
  • Comment créer une application Tkinter à l'aide d'un objet orienté…