GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo instalar y configurar Nginx desde el origen en Linux

Antes de entender qué es nginx, debemos saber cómo pronunciar nginx.

No es N G I N X. nginx se pronuncia como "Motor X".

nginx es una forma abreviada después de eliminar las dos e de "Engine X".

nginx es un servidor web de código abierto similar a Apache, pero muy ligero. nginx es tanto un servidor web como un servidor proxy inverso.

Las siguientes son algunas de las características de nginx:

  • Serve archivos estáticos y de índice
  • Proxy inverso con almacenamiento en caché
  • Admite SSL
  • Equilibrio de carga simple con tolerancia a fallas
  • Se pueden configurar tanto servidores virtuales basados ​​en nombres como basados ​​en IP
  • Autenticación básica HTTP
  • Admite módulo de reescritura
  • Admite gzip, XSLT, SSI y filtros de cambio de tamaño de imagen
  • Se admiten todas las funciones principales del servidor proxy de correo
  • y mucho más..

Esto es parte de una serie continua de artículos sobre nginx.

Comencemos por instalar nginx y ponerlo en funcionamiento, lo que lleva solo 5 minutos.

1. Descargar nginx

Descargue nginx desde aquí o use wget como se muestra a continuación. La versión estable actual es nginx 1.0.5

cd
wget http://nginx.org/download/nginx-1.0.5.tar.gz
tar xvfz nginx-1.0.5.tar.gz
cd nginx-1.0.5

2. Instalar nginx

Hay muchas opciones que puede pasar a ./configure. Para identificar la lista de todas las opciones de configuración, haga lo siguiente.

./configure --help

Los siguientes son algunos de los módulos http que se habilitan automáticamente. Si necesita deshabilitarlos, debe pasar “–sin-http_[nombre_del_módulo]” a la opción ./configure. Por ejemplo, para deshabilitar "proxy_module", debe hacer ./configure –sin-http_proxy_module.

  • charset_module:módulo de conjunto de caracteres HTTP
  • gzip_module:módulo HTTP gzip para compresión
  • ssi_module:el lado del servidor incluye módulos
  • auth_basic_module:módulos de autenticación básica HTTP.
  • autoindex_module – Índice automático
  • rewrite_module:reescritura de HTTP que admite reglas de reescritura
  • proxy_module:módulo de proxy inverso HTTP
  • fastcgi_module:soporte para fastcgi
  • memcached_module:módulo Memcached para nginx
  • ..

Los siguientes son algunos de los módulos httpd que no se habilitan automáticamente. Si necesita habilitarlos, debe pasar “–with-http_[module_name]” a la opción ./configure. Por ejemplo, para habilitar SSL en nginx, debe hacer “./configure –with-http_ssl_module”.

  • ssl_module:soporte para el módulo Secure Socket Layer (SSL)
  • xslt_module:compatibilidad con el módulo de transformaciones de lenguaje de hoja de estilo extensible (XSLT)
  • perl_module:compatibilidad con Perl
  • ..

Para empezar, instale nginx con las opciones de configuración predeterminadas haciendo ./configure como se muestra a continuación.

./configure
make
make install

Durante ./configure, es posible que reciba el mensaje "./configure:error:el módulo de reescritura HTTP requiere la biblioteca PCRE". mensaje de error sobre la falta de la biblioteca PCRE requerida por el módulo de reescritura http de nginx.

Para resolver el problema, instale los paquetes “pcre” y “pcre-devel” en su Linux, o deshabilite el módulo de reescritura haciendo “./configure –sin-http_rewrite_module”

nginx se instalará en /usr/local/nginx como se muestra en la salida ./configure.

Configuration summary
  + using system PCRE library
  + OpenSSL library is not used
  + md5: using system crypto library
  + sha1: using system crypto library
  + using system zlib library

  nginx path prefix: "/usr/local/nginx"
  nginx binary file: "/usr/local/nginx/sbin/nginx"
  nginx configuration prefix: "/usr/local/nginx/conf"
  nginx configuration file: "/usr/local/nginx/conf/nginx.conf"
  nginx pid file: "/usr/local/nginx/logs/nginx.pid"
  nginx error log file: "/usr/local/nginx/logs/error.log"
  nginx http access log file: "/usr/local/nginx/logs/access.log"
  nginx http client request body temporary files: "client_body_temp"
  nginx http proxy temporary files: "proxy_temp"
  nginx http fastcgi temporary files: "fastcgi_temp"
  nginx http uwsgi temporary files: "uwsgi_temp"
  nginx http scgi temporary files: "scgi_temp"

3. Cambiar el puerto de escucha nginx predeterminado

Nginx está configurado para escuchar de forma predeterminada en el puerto 80. Si está instalando esto en una máquina con fines de prueba, que ya tiene un servidor apache en ejecución, debe cambiar el puerto de escucha de nginx.

Similar al archivo httpd.conf de apache, nginx tiene un archivo nginx.conf ubicado en /usr/local/nginx/conf.

En la sección del servidor de nginx.conf, cambie el puerto 80 a 8081.

# vi /usr/local/nginx/conf/nginx.conf
    server {
        listen       8081;
        server_name  localhost;

4. Inicie el servidor Nginx

El ejecutable nginx se encuentra en el directorio /usr/local/nginx/sbin. Simplemente llame a este ejecutable para iniciar el servidor nginx.

cd /usr/local/nginx/sbin
./nginx

Una vez que comience esto, verá el "proceso maestro" de nginx y el "proceso de trabajo" si hace ps.

# ps -ef | grep -i nginx
root     18596 13:16 nginx: master process ./nginx
nobody   18597 13:16 nginx: worker process

Después de iniciar el servidor nginx, vaya a http://su-dirección-ip/ (o http://su-dirección-ip:8081, si cambió la directiva de escucha en nginx.conf), debería ver el valor predeterminado nginx index.html, que debería decir "¡Bienvenido a nginx!"

5. Detener servidor Nginx

Para detener el servidor nginx, haga lo siguiente.

cd /usr/local/nginx/sbin
./nginx -s stop

Para ver la versión actual de nginx, haga lo siguiente:

# ./nginx -v
nginx: nginx version: nginx/1.0.5

Para depurar problemas, consulte los archivos error.log y access.log ubicados en /usr/local/nginx/logs

# ls /usr/local/nginx/logs/
access.log
error.log
nginx.pid

Linux
  1. Cómo instalar un programa desde la fuente en Linux

  2. Cómo instalar y configurar EMC PowerPath en Linux

  3. Cómo compilar e instalar software desde el código fuente en Linux

  4. Cómo instalar MongoDB desde la fuente (y usando YUM) en Linux

  5. Cómo instalar TBB desde la fuente en Linux y hacer que funcione

Cómo instalar y configurar AnyDesk en el sistema Linux

Cómo instalar y configurar Django en un sistema Linux

Cómo instalar y configurar PrestaShop en el sistema Linux

Cómo instalar y configurar Elasticsearch en el sistema Linux

Cómo instalar y configurar Slack en distribuciones de Linux

Cómo instalar y configurar Perf en distribuciones de Linux