Cómo compilar Nginx Webserver en Debian Linux

Cómo compilar Nginx Webserver en Debian Linux

Digamos que desea hacer algunos cambios en nginx código fuente en
para agregar o eliminar algunas características antes de la real nginx
instalación de paquetes. En esta configuración mostraremos cómo recompilar
nginx Paquete en Debian Linux.

Primer instalación de herramientas de construcción de paquetes:

# apt-get install dpkg-devel 

A continuación, necesitamos instalar todo nginx Construir dependencias:

# apt-get build-dep nginx 

Descargar nginx código fuente:

$ Mkdir Nginx-Local $ CD Nginx-Local/ $ apt-get Source nginx 

El comando anterior descargará todo lo necesario nginx archivos fuente
ser alter se usa para construir *.debutante Paquete Debian.

$ árbol -l 2 . ├── Nginx-1.6.2 │ ├── Auto │ ├── Cambios │ ├── Cambios.ru │ ├── conf │ ├── Configure │ ├── contribución │ ├─se debian │ ├── html │ ├── Licencia │ ├── Man │ ├── Readme │ └── src ├─omo nginx_111.6.2-5.debian.alquitrán.xz ├── nginx_1.6.2-5.DSC └── Nginx_1.6.2.oriente.alquitrán.Directorios GZ 8, 8 archivos 

Como ejemplo, ahora podemos modificar el código fuente para cambiar el nombre de los servidores web desde
nginx a Servidor web privado de labnix. Editar
nginx-1.6.2/src/http/ngx_http_header_filter_module.C
líneas

Desde: static char ngx_http_server_string [] = "servidor: nginx" crlf; static char ngx_http_server_full_string [] = "servidor:" nginx_ver crlf; A: static char ngx_http_server_string [] = "servidor: labnix privado servidor web" crlf; static char ngx_http_server_full_string [] = "servidor: labnix private web servidor" crlf; 

Una vez que haya realizado todos los cambios necesarios en el código fuente del NGINX
Es hora de construir un nuevo *.debutante paquete:

$ cd nginx-1.6.2/$ dpkg -buildpackage -rfakeroot -uc -b ... dpkg -deb - -build debian/nginx ... dpkg -DEB: paquete de construcción 'nginx' en '…/nginx_1.6.2-5_ de todos.debutante'. DPKG-DEB--BUILD DEBIAN /NGINX-DOC ... DPKG-DEB: PAGACIÓN DE CONSTRUCCIÓN 'NGINX-DOC' IN '... /NGINX-DOC_1.6.2-5_ de todos.debutante'. DPKG-DEB--BUILD DEBIAN /NGINX-Common ... DPKG-DEB: paquete de construcción 'nginx-common' en '... /nginx-common_1.6.2-5_ de todos.debutante'. DPKG-DEB--BUILD DEBIAN /NGINX-FULL ... DPKG-DEB: PACATO DE CONSTRUCCIÓN 'NGINX-FULL' IN '... /NGINX-FULL_1.6.2-5_amd64.debutante'. dpkg-deb--build Debian /nginx-full-dbg ... dpkg-deb: paquete de construcción 'nginx-full-dbg' en '... /nginx-full-dbg_1.6.2-5_amd64.debutante'. DPKG-DEB--BUILD DEBIAN /NGINX-LIGHT ... DPKG-DEB: PAQUETE DE CONSTRUCCIÓN 'NGINX-LIGHT' IN '... /NGINX-LIGHT_1.6.2-5_amd64.debutante'. DPKG-DEB--BUILD DEBIAN /NGINX-LIGHT-DBG ... DPKG-DEB: PAGACIÓN DE CONSTRUCCIÓN 'NGINX-LIGHT-DBG' IN '... /NGINX-LIGHT-DBG_1.6.2-5_amd64.debutante'. DPKG-DEB--BUILD DEBIAN /NGINX-EXTRAS ... DPKG-DEB: PAGACE DE CONSTRUCCIÓN 'NGINX-EXTRAS' IN '... /NGINX-EXTRAS_1.6.2-5_amd64.debutante'. dpkg-DEB--Build Debian /Nginx-Extras-DBG ... DPKG-DEB: Construyendo el paquete 'Nginx-Extras-DBG' en '... /Nginx-Extras-DBG_1.6.2-5_amd64.debutante'. dpkg -genchanges -b>… /nginx_1.6.2-5_amd64.Cambios DPKG-Genchanges: carga binaria (sin código fuente incluido) DPKG-Source-After-Build NGINX-1.6.2 dpkg-buildpackage: carga solo binaria (sin fuente incluida) 

Los nuevos paquetes recompensados ​​ahora están listos para instalarse:

$ CD ... $ ls nginx-1.6.2 nginx_1.6.2-5_amd64.Cambios nginx_1.6.2-5.DSC Nginx-Common_1.6.2-5_ de todos.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_ de todos.Deb Nginx_1.6.2-5.debian.alquitrán.xz nginx_1.6.2.oriente.alquitrán.GZ Nginx-Doc_1.6.2-5_ de todos.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.debutante 

Instalar nginx De los paquetes de recién construcción:

# dpkg -i nginx_1.6.2-5_ de todos.Deb Nginx-Full_1.6.2-5_amd64.Deb Nginx-Common_1.6.2-5_ de todos.Deb Nginx-Doc_1.6.2-5_ de todos.debutante 

Verifique el estado del servidor web:

 estado systemCtl nginx nginx.Servicio: un servidor web de alto rendimiento y un servidor proxy inverso cargado: cargado (/lib/systemd/system/nginx.servicio; habilitado) activo: activo (en ejecución) desde el miércoles 2015-04-15 09:46:53 AEST; Proceso de hace 18 años: 3535 execstart =/usr/sbin/nginx -g daemon on; maestro_process on; (Código = Exitido, estado = 0/éxito) Proceso: 3534 execstartpre =/usr/sbin/nginx -t -q -g demonio en; maestro_process on; (Código = Exitido, estado = 0 /éxito) PID principal: 3538 (NGINX) CGROUP: /SISTEMA.rebanada/nginx.servicio ├─3538 nginx: proceso maestro/usr/sbin/nginx -g daemon on; maestro_process on; ├─3539 nginx: proceso de trabajo ├─3540 nginx: proceso de trabajador ├─3541 nginx: proceso de trabajo └─3542 nginx: proceso de trabajador 

Confirmar los cambios de nombre del servidor:

# curl -i http: // localhost http/1.1 200 OK Servidor: Labnix Fecha de servidor web privado: martes, 14 de abril de 2015 23:49:37 Tipo de contenido GMT: texto/html-longitud de contenido: 867 Último modificado: martes, 14 de abril de 2015 23:45:07 conexión GMT : Keep-Alive Etag: "552DA683-363" Acepta de los bytes: bytes 

Tutoriales de Linux relacionados:

  • Cosas para instalar en Ubuntu 20.04
  • Cómo imprimir el árbol de directorio usando Linux
  • Guía para principiantes para el comando DPKG Linux
  • Instale el archivo Deb en Ubuntu 22.04 Jammy Jellyfish Linux
  • Instale Arch Linux en VMware Workstation
  • Cosas para instalar en Ubuntu 22.04
  • Cosas que hacer después de instalar Ubuntu 20.04 fossa focal Linux
  • Tutorial de depuración de GDB para principiantes
  • Expresiones regulares de Python con ejemplos
  • Cómo construir una aplicación Tkinter utilizando un objeto orientado ..