Servidor web NGNIX
- Nginx es un servidor HTTP de alto rendimiento, estable y con muy bajo consumo de recursos.
- Su alto rendimiento se debe a que, a diferencia de Apache que utiliza threads (o procesos, depende cómo se lo configure), Nginx posee una arquitectura asincrónica mucho más escalable y basada en eventos, lo que permite utilizar pequeñas cantidades de memoria.
Instalación
Instalación de los paquetes
- Cogemos una máquina con un Debian mínimo instalado, e instalamos el servidor web NGINX
aptitude install nginx
- Siempre antes de instalar un paquete se recomienda actualizar todos los paquetes del sistema.
Comprobación del funcionamiento
- Comprobamos desde un navegador de internet que está funcionando, para ello debemos tener en cuenta algunos comandos relativos a la red, en este caso
ifconfig.# ifconfig
- Pero en Debian 9 el
ifconfigha desaparecido, a menos que instalemoss las herramientas de red con# apt-get install net-tools
- En su lugar debemos ahora usar
ip address
o simplemente
ip a
- Con ello obtenemos la dirección IP del servidor web. Nos vamos a otro equipo de la misma red y en un navegador de internet teclear la IP del servidor web, debiendo aparecer algo como así:
Comandos
- Desde la consola puedo parar el servicio del servidor web o reiniciarlo. Por ejemplo:
service nginx stop
para el servicio, de manera que después de ejecutarla si recargamos la página web del servidor nos dará un aviso de que no se puede acceder a ese sitio web.
- Para iniciar el servicio:
service nginx start
- Cuando cambiemos los ficheros de configuración del servidor web habrá que parar y luego volver a iniciar el servicio para que los cambios se tengan en cuenta. También lo podemos hacer con un solo comando:
service nginx restart
Configuración básica
Por ahora vamos a fijarnos básicamente en:
- Directorio raíz del servidor web. Ahí es donde irá a buscar por defecto las páginas web.
- Usuarios, grupos y derechos de los mismos para acceder y modificar páginas del servidor.
- Cuestiones básicas de seguridad. Configuración de la página con el error 404.
Fichero configuración default
- Le echamos un vistazo al fichero básico de configuración
/etc/nginx/sites-available/default
- Entre otras cosas, la carpeta raíz del servidor web aparece como
/var/www/html/dentro del bloqueserver{}en la línea:root /var/www/html;
- Vamos a ella y editamos el fichero
htmlque está ahí: Variaremos la apariencia del mensaje de funcionamiento del servidor anterior añadiendo caracteres propios de nuestro idioma como vocales acentuadas y la letraÑ.
Ups!!!. Si, falla el idioma de la página.
El idioma del sistema
Configuración del idioma en el fichero html
- La solución más rápida es añadir dentro de la cabecera,
head, del fichero html:<meta charset="utf-8">
Et voilá…
Configuración del idioma en el sistema operativo
- Si esto no funcionase el problema puede ser debido a que no hemos escogido la codificación UTF-8 en nuestro sistema. Esta codificación es la que se recomienda. Podemos especificarla si ejecutamos
dpkg-reconfigure locales
Y luego mostrarla ejecutando
locale
Usuarios y derechos
- Echamos un vistazo al fichero de configuración
ngnix.conf./etc/nginx/nginx.conf
- En la primera linea aparece el usuario
www-datacon permisosuser www-data;
- Con la siguiente instrucción visualizamos los derechos y propietarios en toda la ruta especificada.
namei -l /var/www/html/*.*
- En nuestro caso muestra que el propietario de todo es root, con derechos
755en las carpetas y644en los ficheros. Los demás tienen derecho de lectura y ejecución en las carpetas y solo lectura en el fichero.