Instale y compile “Nginx 1.10.0” (versión estable) desde fuentes en RHEL/CentOS 7.0

Instale y compile “Nginx 1.10.0” (versión estable) desde fuentes en RHEL/CentOS 7.0

Nginx es el servidor web de más rápido crecimiento en la actualidad en servidores públicos orientados a Internet debido a su modelo modular de código abierto gratuito, alto rendimiento, estabilidad, archivos de configuración simple, arquitectura asíncrona (impulsada por eventos) y Se necesitan pocos recursos para ejecutarse.

Requisitos para RHEL 7.0

  1. Instalación mínima de RHEL 7.0
  2. Suscripción y repositorios activos de RedHat en RHEL 7.0

Para CentOS 7.0

  1. Instalación mínima de CentOS 7.0

Configurar la dirección IP estática

  1. Establecer la dirección IP estática en RHEL/CentOS 7.0

Este tutorial lo guiará en la instalación de la última versión estable de Nginx 1.10.0 en Red Hat Enterprise o CentOS 7 desde las fuentes, porque los espejos de repositorios oficiales RHEL/CentOS 7 no proporcionan un paquete binario. Si desea evitar la instalación de fuentes, puede agregar el repositorio oficial de Nginx e instalar el paquete binario (las versiones disponibles son 1.9.x ) con la ayuda de Yum Package Manager como se muestra:

Para habilitar el repositorio oficial de yum de nginx para RHEL/CentOS 7, cree un archivo /etc/yum.repos.d/nginx.repo. con el siguiente contenido:

[nginx] name = nginx repo baseurl = http://nginx.org/packages/mainline/centos/7/$basearch/gpgcheck = 0 enabled = 1

Reemplaza “centos”. por “rhel”. dependiendo de la distribución que esté utilizando e instale nginx con el administrador de paquetes yum como se muestra:

# yum install nginx

Importante:. Por favor tenga en cuenta que, siguiendo los repositorios oficiales de nginx yum anteriores, obtendrá una versión anterior de nginx, si realmente desea crear la versión más reciente de Nginx, le sugiero que siga la instalación de la fuente como se muestra a continuación.

freestar.config.enabled_slots. push (LocationName: “tecmint_incont ent “, slotId:” tecmint_incontent “);

El uso de la compilación e instalación de fuentes tiene algunos beneficios, debido al hecho de que puede instalar la última versión disponible, puede modificar la configuración de Nginx agregando o eliminando módulos, cambiar el sistema de instalación ruta u otras configuraciones importantes, en otras palabras, usted tiene un control completo sobre el proceso de instalación.

Paso 1: Descargue, compile e instale Nginx

1.. Antes de iniciar el proceso de compilación e instalación de Nginx, asegúrese de tener compilador C/C ++, PCRE (Expresiones regulares compatibles con Perl), biblioteca de compresión Zlib y OpenSSL (si tiene la intención de ejecutar Nxing con soporte SSL) paquetes instalados en su máquina emitiendo el siguiente comando.

# yum-y install gcc gcc-c ++ make zlib-devel pcre-devel openssl-devel Instalar GCC y complementos cargados del compilador de C ++: rapidmirror Velocidades de duplicación de carga desde el archivo host en caché * base: centos.mirror.net.in * extras: centos.mirror .net.in * actualizaciones: centos.mirror.net.in Paquete 1: make-3.82-21.el7.x86_64 ya instalado y última versión Resolviendo dependencias-> Comprobación de transacciones en ejecución—> Paquete gcc.x86_64 0: 4.8 .5-4.el7 se instalará-> Dependencia de procesamiento: libgomp = 4.8.5-4.el7 para el paquete: gcc-4.8.5-4.el7.x86_64-> Dependencia de procesamiento: cpp = 4.8.5-4.el7 para el paquete: gcc-4.8.5-4.el7.x86_64-> Dependencia de procesamiento: libgcc> = 4.8.5-4.el7 para el paquete: gcc-4.8.5-4.el7.x86_64-> Dependencia de procesamiento: glibc-devel> = 2.2.90-12 para el paquete: gcc-4.8.5-4.el7.x86_64-> Dependencia de procesamiento: libmpfr.so.4 () (64bit) para el paquete: gcc-4.8. 5-4.el7.x86_64-> Dependencia de procesamiento: libmpc.so.3 () (64bit) para el paquete: gcc-4.8.5-4.el7.x86_64—> Paquete gcc-c ++. X86_64 0: 4.8 .5-4.el7 se instalará-> Dependencia de procesamiento: libstdc ++-devel = 4.8.5-4.el7 para el paquete: gcc-c ++-4.8.5-4.el7.x86_64-> Dependencia de procesamiento: libstdc ++ = 4.8.5-4.el7 para el paquete: gcc-c ++-4.8.5-4.el7.x86_64—> Pac kage openssl-devel.x86_64 1: 1.0.1e-51.el7_2.4 se instalará-> Dependencia de procesamiento: openssl-libs (x86-64) = 1: 1.0.1e-51.el7_2.4 para el paquete: 1 : openssl-devel-1.0.1e-51.el7_2.4.x86_64-> Dependencia de procesamiento: krb5-devel (x86-64) para el paquete: 1: openssl-devel-1.0.1e-51.el7_2.4.x86_64—> Se instalará el paquete pcre-devel.x86_64 0: 8.32-15.el7-> Dependencia de procesamiento: pcre (x86-64) = 8.32-15.el7 para el paquete: pcre-devel-8.32-15.el7 .x86_64—> Se instalará el paquete zlib-devel.x86_64 0: 1.2.7-15.el7-> Dependencia de procesamiento: zlib = 1.2.7-15.el7 para el paquete: zlib-devel-1.2.7-15.el7.x86_64 …

2.. Ahora vaya a la página oficial de Nginx y obtenga la última versión estable ( nginx 1.10.0 ) disponible usando wget , extraiga el archivo TAR e ingrese al directorio extraído de Nginx, usando la siguiente secuencia de comandos.

# wget http://nginx.org/download/nginx-1.10.0.tar.gz # tar xfz nginx-1.10.0.tar.gz # cd nginx-1.10.0/# ls-all Descargar Fuente Nginx–2016-03-21 09: 30: 15–http://nginx.org/download/nginx-1.10.0.tar.gz Resolviendo nginx.org (nginx.org) … 206.251.255.63, 95.211.80.227, 2001: 1af8: 4060: a004: 21 :: e3 Conectando a nginx.org (nginx.org) | 206.251.255.63 |: 80 … conectado. Solicitud HTTP enviada, esperando respuesta … 200 OK Longitud: 908954 (888K) [application/octet-stream] Guardando en: ‘nginx-1.10.0.tar.gz’ 100% [========= ================================================ ================================================ ========================================>] 9,08,954 81.0KB/s en 11s 2016-03-21 09:30:27 (77,4 KB/s)-‘nginx-1.10.0.tar.gz’ guardado [908954/908954]

3.. El siguiente paso es personalizar el proceso de instalación de Nginx. Use el archivo configure para visualizar las opciones de configuración y los módulos necesarios para su proceso de compilación usando el siguiente comando y asegúrese de estar en nginx-1.6.0/path.

# ./configure–help Ayuda de configuración de Nginx-help imprime este mensaje–prefix = PATH establece el prefijo de instalación–sbin-path = PATH establece nginx binary pathname–modules-path = PATH establece la ruta de los módulos–conf-path = PATH establece nginx.conf pathname–error-log-path = PATH establece el registro de errores nombre de la ruta–pid-path = PATH establece nginx.pid pathname–lock-path = PATH establece nginx.lock pathname–user = USER establece un usuario sin privilegios para el trabajador procesos–group = GROUP establece un grupo no privilegiado para procesos de trabajo–build = NAME establecer nombre de compilación–builddir = DIR establecer directorio de compilación–with-select_module habilitar módulo de selección–without-select_module deshabilitar módulo de selección–with-poll_module habilitar módulo de encuesta–without-poll_module deshabilitar módulo de encuesta–with-threads habilitar hilo pool support–with-file-aio enable file Soporte AIO–with-ipv6 enable IPv6 support–with-http_ssl_module enable ngx_http_ssl_module–with-http_v2_module enable ngx_http_v2_module …

4.. Ahora es el momento de compilar Nginx con sus configuraciones específicas y módulos habilitados o deshabilitados. Para este tutorial, se utilizaron los siguientes módulos y especificaciones, pero puede ajustar la compilación según sus necesidades.

  1. –user = nginx –group = nginx => usuario del sistema y grupo con el que se ejecutará Nginx.
  2. –prefix =/etc/nginx => directorio para los archivos del servidor (archivo nginx.conf y otros archivos de configuración)-el valor predeterminado es/usr/local/nginx directorio.
  3. –sbin-path =/usr/sbin/nginx => Ubicación del archivo ejecutable Nginx.
  4. –Conf-path =/etc/nginx/nginx.conf => establece el nombre del archivo de configuración nginx.conf; puede cambiarlo.
  5. –error-log-path =/var/log/nginx/error.log => establece la ubicación del archivo de registro de errores de Nginx.
  6. –http-log-path =/var/log/nginx/access .log => establece la ubicación del archivo de registro de acceso de Nginx.
  7. –pid-path =/var/run/nginx.pid => establece el nombre del proceso principal ID de archivo.
  8. –lock-path =/var/run/nginx.lock => establece el nombre del archivo de bloqueo de Nginx.
  9. –With-http_ssl_module => habilita construyendo el módulo HTTPS-no construido por defecto y requiere biblioteca OpenSSL.
  10. –with-pcre => establece la ruta a las fuentes de la biblioteca PCRE-no construido por defecto y requiere la biblioteca PCRE.

Para ver una lista de todos los módulos de Nginx, visite la página web Wiki de Nginx en http://wiki.nginx.org/Modules.

Si no necesita un módulo específico instalado en Nginx, puede deshabilitarlo usando el siguiente comando.

–without-module_name

Ahora comience a compilar Nginx emitiendo el siguiente comando, que usará todas las configuraciones y módulos discutido anteriormente ( asegúrese de que el comando permanezca en una sola línea. .

# ./configure–user = nginx–group = nginx–prefix =/etc/nginx–sbin-path =/usr/sbin/nginx–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–with-http_ssl_module–with-pcre Configure Nginx con la comprobación de módulos para OS + Linux 3.10.0-229.el7.x86_64 x86_64 comprobando el compilador C. .. encontrado + usando el compilador GNU C + versión gcc: 4.8.5 20150623 (Red Hat 4.8.5-4) (GCC) comprobando gcc-pipe switch … encontrado comprobando-Wl,-E switch … encontrado comprobando las operaciones atómicas integradas de gcc … encontrado comprobando macros variadic C99 … encontrado comprobando macros variadic gcc … encontrado comprobando gcc incorporado de 64 bits bywap … encontrado comprobando unistd.h … encontrado comprobando inttypes.h … encontrado comprobando límites.h … encontrado comprobando sys/filio.h … no encontrado comprobando sys/param.h … encontrado comprobando sys/mount.h … encontrado C hecking for sys/statvfs.h … encontrado comprobando crypt.h … encontrado comprobando características específicas de Linux comprobando epoll … encontrado comprobando EPOLLRDHUP … encontrado comprobando O_PATH … encontrado comprobando sendfile ( ) … encontrado comprobando sendfile64 () … encontrado comprobando sys/prctl.h … encontrado comprobando prctl (PR_SET_DUMPABLE) … encontrado comprobando sched_setaffinity () … encontrado comprobando crypt_r (). .. encontrado comprobando sys/vfs.h … encontrado comprobando poll () … encontrado comprobando/dev/poll … no encontrado …

5.. Después el proceso de compilación verifica todas las utilidades requeridas por el sistema como el compilador GNU C, las bibliotecas PCRE y OpenSSL, crea el archivo make.conf y genera un resumen de todas las configuraciones.

Resumen de compilación de Nginx Resumen de configuración + usando la biblioteca PCRE del sistema + usando la biblioteca OpenSSL del sistema + md5: usando la biblioteca OpenSSL + sha1: usando la biblioteca OpenSSL + usando la biblioteca zlib del sistema nginx ruta pre corrección: “/etc/nginx” archivo binario nginx: “/usr/sbin/nginx” ruta de los módulos nginx: “/etc/nginx/modules” prefijo de configuración nginx: “/etc/nginx” archivo de configuración nginx: “/etc/nginx/nginx.conf “Archivo pid de nginx:”/var/run/nginx.pid “Archivo de registro de errores de nginx:”/var/log/nginx/error.log “Archivo de registro de acceso http de nginx:”/var/log/nginx/access.log “nginx http: archivos temporales del cuerpo de la solicitud del cliente:” client_body_temp “nginx http archivos temporales del proxy:” proxy_temp “nginx http archivos temporales fastcgi:” fastcgi_temp “nginx http uwsgi archivos temporales:” uwsgi_temp “nginx http archivos temporales scgi:” scgi_temp “

6.. El último paso es compilar los binarios usando el comando make , que puede tardar algún tiempo en finalizar dependiendo de los recursos de su máquina, e instalar Nginx en su sistema con el comando make install .

Tenga cuidado de que make install requiera privilegios de root para realizar la instalación, así que si no ha iniciado sesión con cuenta root use un privilegio de usuario con sudo .

# make # make install Ejecutar Nginx Make Command make-f objs/Makefile make [1]: Ingresando al directorio `/root/nginx-1.10.0 ‘make [1]: Advertencia: Archivo` src/core/nginx .h ‘tiene un tiempo de modificación 3110036 s en el futuro cc-c-pipe-O-W-Wall-Wpointer-arith-Wno-unused-parameter-Werror-g-I src/core-I src/event-I src/evento/módulos-I src/os/unix-I objs \-o objs/src/core/nginx.o \ src/core/nginx.c cc-c-pipe-O-W-Wall-Wpointer-arith-Wno-parámetro-no usado-Werror-g-I src/core-I src/event-I src/event/modules-I src/os/unix-I objs \-o objs/src/core/ngx_log.o \ src/core/ngx_log.c cc-c-pipe-O-W-Wall-Wpointer-arith-Wno-unused-parameter-Werror-g-I src/core-I src/event-I src/event/modules-I src/os/unix-I objs \-o objs/src/core/ngx_palloc.o \ src/core/ngx_palloc.c cc-c-pipe-O-W-Wall-Wpointer-arith-Wno-unused-parameter-Werror-g-I src/core-I src/event-I src/event/modules-I src/os/unix-I objs \-o objs/src/core/ngx_array.o \ src/c ore/ngx_array.c cc-c-pipe-O-W-Wall-Wpointer-arith-Wno-unused-parameter-Werror-g-I src/core-I src/event-I src/event/modules-I src/os/unix-I objs \-o objs/src/core/ngx_list.o \ src/core/ngx_list.c cc-c-pipe-O-W-Wall-Wpointer-arith-Wno-unused-parameter-Werror-g-I src/core-I src/event-I src/event/modules-I src/os/unix-I objs \-o objs/src/core/ngx_hash.o \ src/core/ngx_hash.c cc-c-pipe-O-W-Wall-Wpointer-arith-Wno-unused-parameter-Werror-g-I src/core-I src/event-I src/event/modules-I src/os/unix-I objs \-o objs/src/core/ngx_buf.o \ src/core/ngx_buf.c cc-c-pipe-O-W-Wall-Wpointer-arith-Wno-unused-parameter-Werror-g-I src/core-I src/event-I src/event/modules-I src/os/unix-I objs \-o objs/src/core/ngx_queue.o \ … Ejecutar Nginx Make Install Command make-f objs/Makefile install make [1]: Ingresando al directorio `/root/nginx-1.10.0 ‘make [1]: Advertencia: El archivo` src/core/nginx.h’ tiene un tiempo de modificación 3109935 s en el futuro ure cc-c-pipe-O-W-Wall-Wpointer-arith-Wno-unused-parameter-Werror-g-I src/core-I src/event-I src/event/modules-I src/os/unix-I objs \-o objs/src/core/nginx.o \ src/core/nginx.c cc-c-pipe-O-W-Wall-Wpointer-arith-Wno-unused-parameter-Werror-g-I src/core-I src/event-I src/event/modules-I src/os/unix-I objs \-o objs/src/core/ngx_log.o \ src/core/ngx_log.c cc-c-pipe-O-W-Wall-Wpointer-arith-Wno-parámetro-no utilizado-Werror-g-I src/core-I src/event-I src/event/modules-I src/os/unix-I objs \-o objs/src/core/ngx_palloc.o \ src/core/ngx_palloc.c cc-c-pipe-O-W-Wall-Wpointer-arith-Wno-unused-parameter-Werror-g-I src/core-I src/event-I src/event/modules-I src/os/unix-I objs \-o objs/src/core/ngx_array.o \ src/core/ngx_array.c cc-c-pipe-O-W-Wall-Wpointer-arith-Wno-unused-parameter-Werror-g-I src/core-I src/event-I src/event/modules-I src/os/unix-I objs \-o objs/src/core/ngx_list.o \ src/core/ngx_ list.c cc-c-pipe-O-W-Wall-Wpointer-arith-Wno-unused-parameter-Werror-g-I src/core-I src/event-I src/event/modules-I src/os/unix-I objs \-o objs/src/core/ngx_hash.o \ src/core/ngx_hash.c cc-c-pipe-O-W-Wall-Wpointer-arith-Wno-unused-parameter-Werror-g-I src/core-I src/event-I src/event/modules-I src/os/unix-I objs \-o objs/src/core/ngx_buf.o \ src/core/ngx_buf.c cc-c-pipe-O-W-Wall-Wpointer-arith-Wno-parámetro-no utilizado-Werror-g-I src/core-I src/event-I src/event/modules-I src/os/unix-I objs \-o objs/src/core/ngx_queue.o \ …

Paso 2: Ajustar Nginx y crear un script INIT

7.. Una vez finalizado el proceso de instalación con éxito agregue el usuario del sistema nginx (con /etc/nginx/ como su directorio de inicio y sin un shell válido), el usuario con el que Nginx se ejecutará al emitir el siguiente comando.

# netstat-tulpn | grep nginx  Crear Nginx DocumentRoot Crear Nginx DocumentRoot Create Nginx DocumentRoot

10.. Para verificarlo desde un sistema remoto, agregue una regla de firewall para abrir la conexión al exterior en el puerto 80 , abra un navegador y una URL directa a la dirección IP de su servidor en http://server_IP .

# firewall-cmd–add-service = http ## Para la regla al vuelo # firewall-cmd–permanent–add-service = http ## Para una regla permanente # systemctl restart firewalld  Verificar instalación de Nginx  Verificar la instalación de Nginx Verificar la instalación de Nginx

11.. Para administrar Nginx proceso use los siguientes comandos.

  1. nginx-V = muestra los módulos y configuraciones de Nginx
  2. nginx-h = opciones de ayuda
  3. nginx = iniciar el proceso de Nginx
  4. nginx-s detener = detener el proceso de Nginx
  5. nginx-s reload = recargar el proceso de Nginx

# nginx-V Verificar la versión instalada de Nginx Versión de nginx: nginx/1.10.0 construido por gcc 4.8.5 20150623 (Red Hat 4.8.5-4) (GCC) construido con OpenSSL 1.0.1e-fips 11 de febrero de 2013 Soporte de TLS SNI habilitado configurar argumentos:–user = nginx–group = nginx–prefix =/etc/nginx–sbin-path =/usr/sbin/nginx–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–with-http_ssl_module–with-pcre

12.. Si necesita administrar el proceso del demonio Nginx a través de un script init RHEL/CentOS, cree el siguiente archivo nginx en /etc/init .d/ ruta del sistema y, luego, puede usar los comandos service o systemctl para administrar el proceso.

# nano/etc/init .d/nginx

Agregue el siguiente contenido de archivo.

Leave a comment

Your email address will not be published. Required fields are marked *