Compila Nginx tú mismo

Aquellos que usan Debian y dependen de nginx, tarde o temprano no podrán llevarse bien con los módulos integrados. La solución: compilar Nginx usted mismo.

Actualizado el 09.06.2019

Lo que suena complicado al principio, es bastante simple en la práctica y adecuado para el uso diario - este blog aquí funciona con una versión autocompilada Nginx 1.11.1. Aunque no es complicado, hay algunos requisitos para compilar nginx en Debian 7.6 o en Debian 8 (Jessie) tú mismo:

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


Una vez hecho esto, es hora de compilar el propio Nginx. Primero tienes que descargar la última versión de nginx.orgy luego desempacar:

# 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

Ahora habría que establecer las opciones de configuración correctas para que los directorios de Debian siguieran siendo utilizados. Esto es útil si has usado nginx antes. Así que no tienes que ajustar la configuración del servidor de nuevo y puedes continuar directamente con la nueva versión de nginx.

/configurar --prefijo=/etc/nginx --sbin-path=/usr/sbin/nginx --módulos-path=/usr/lib/nginx/módulos --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-http_addition_modules --with-http_auth_request_modules --with-http_dav_modules --with-http_flv_modules --with-http_gunzip_modules ---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_modules --with-http_v2_modules --with-mail --with-mail_ssl_modules --with-stream --with-stream_realip_modules --with-stream_ssl_modules --with-stream_ssl_preread_modules --with-cc-opt='-g -O2 -fdebug-prefix-map=/data/builder/debuild/nginx-1.17.0/debian/base de construcción/nginx-1.17.0=. -factor-protector-fuerte -Wormato -Werror=formato-seguridad -Wp,-D_FORTIFY_SOURCE=2 -fPIC' --con-el-opt='-Wl,-Funciones simbólicas -Wl,-z,relro -Wl,-z,ahora -Wl,--as-need -pie' --with-openssl=/usr/local/src/openssl --add-module=/usr/local/src/nginx/incubadora-pagespeed-ngx-1.13.35.2-estable --add-module=/usr/local/src/nginx/ngx_brotli

Las últimas instrucciones se refieren a los módulos adicionales de terceros que se pueden obtener en el wiki de Nginx. Esto le da no sólo un módulo PageSpeed, sino también la posibilidad el Microcache para borrar. Si no utiliza estos módulos, puede omitir las declaraciones de configuración correspondientes.
Después de eso, todo lo que queda es compilar e instalar Nginx para que la nueva versión de Nginx esté disponible:

# make && make install

¿Qué sacas de esto? Usando la versión actual de Nginx también obtienes más características que faltan en el Nginx estándar. Esta es la única manera de utilizar todo el potencial del servidor web slim y aprovechar las posibilidades que ofrece el módulo ngx_pagespeed.

Para más información sobre el tema de las "páginas web rápidas", véase Boost-for-Websites.com!

3 comentarios

  1. Hola,

    Gracias por tu tutorial. Tengo una instalación de Owncloud en un Frambuesa y la ejecuto con NGINX y una base de datos MySQL. Mi versión actual de NGINX es la 1.2.1. Desafortunadamente recibo un mensaje de error con el último comando: make: *** No hay ninguna regla disponible para "construir" el objetivo,
    requerido por "defecto". Deténgase.
    ¿Tienes idea de lo que hice mal? No estoy muy familiarizado con Linux... Así que el comando exacto que tengo que escribir para compilar me ayudaría. Saludos, Dnaiel

    1. ¿Instalaste el Build-Essentials (el primer paso)? En un Pi de frambuesa con frambuesa no lo he probado todavía, si hay algo especial que considerar. Pero en principio el procedimiento debería funcionar como bajo x86-Linux, le echaré otro vistazo.

      ¿Has probado la última versión de la página web de Nginx?

Deje una respuesta

Su dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *