GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo instalar y configurar Nginx en Ubuntu 18.04 / Debian 9

Nginx es un servidor web gratuito y de código abierto, también se puede utilizar como proxy inverso , equilibrador de carga HTTP , caché HTTP y proxy de correo . Nginx está disponible para todos los sistemas operativos similares a Unix y se publica bajo una licencia similar a BSD.

En el tutorial, aprenderemos cómo instalar la última versión de Ngnix en Ubuntu 18.04 LTS y Debian 9 Server,

Instalación de Nginx en Ubuntu 18.04 LTS/Debian 9

Los pasos de instalación de Nginx en OS Ubuntu 18.04 y Debian 9 son idénticos, ejecute los siguientes comandos uno tras otro desde la terminal,

[email protected]:~$ sudo apt update
[email protected]:~$ sudo apt install nginx -y

Iniciar y habilitar el servicio Nginx

Ejecute los siguientes comandos para iniciar y habilitar el servicio nginx,

[email protected]:~$ sudo systemctl start nginx
[email protected]:~$ sudo systemctl enable nginx
Synchronizing state of nginx.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable nginx
[email protected]:~$

Use los siguientes comandos para verificar el estado del servicio ngnix,

[email protected]:~$ sudo systemctl status nginx
[email protected]:~$ sudo systemctl is-active nginx

La salida de los comandos anteriores sería algo así como a continuación,

Permitir puertos Nginx (80 y 443) en el firewall del sistema operativo

En caso de que el firewall del sistema operativo esté habilitado y configurado en su servidor Ubuntu 18.04 y Debian 9, ejecute los siguientes comandos ufw para permitir el puerto 80 y 443,

[email protected]:~$ sudo ufw allow 80/tcp
Rules updated
Rules updated (v6)
[email protected]:~$ sudo ufw allow 443/tcp
Rules updated
Rules updated (v6)
[email protected]:~$

Ahora Verifique las reglas usando el siguiente comando,

[email protected]:~$ sudo ufw status numbered
Status: active
     To                         Action      From
     --                         ------      ----
[ 1] 80/tcp                     ALLOW IN    Anywhere
[ 2] 443/tcp                    ALLOW IN    Anywhere
[ 3] 22/tcp                     ALLOW IN    Anywhere
[ 4] 80/tcp (v6)                ALLOW IN    Anywhere (v6)
[ 5] 443/tcp (v6)               ALLOW IN    Anywhere (v6)
[ 6] 22/tcp (v6)                ALLOW IN    Anywhere (v6)
[email protected]:~$

Una vez que haya terminado con los cambios anteriores, ¡verifiquemos la página de bienvenida de Nginx!

Abra su navegador web, escriba:http://{Su-Servidor-IP-Dirección}

Bloque de servidor/Host virtual en Nginx

En Apache Web Server tenemos el concepto de hosts virtuales donde podemos definir detalles de múltiples sitios web, de manera similar en Nginx tenemos bloques de servidor significa bloque para cada sitio web, veamos el bloque de servidor predeterminado (/etc/nginx/sites -disponible/predeterminado ) y luego crearemos el bloque del servidor de nuestro propio sitio,

[email protected]:~$ sudo vi /etc/nginx/sites-available/default

Defina su bloque de servidor personalizado

Supongamos que quiero crear un bloque de servidor personalizado para el servidor web www.linuxtechi.lan,

Cree una raíz de documento usando el siguiente comando,

[email protected]:~$ sudo mkdir  /var/www/linuxtechi

Cree un index.html en la raíz del documento del servidor web,

[email protected]:~$ sudo vi /var/www/linuxtechi/index.html
<!DOCTYPE html>
<html>
<head>
<title>Welcome to LinuxTechi</title>
</head>
<body>
<h1>Welcome to LinuxTechi</h1>
<p>LinuxTechi Test Page running on NGINX Web Server - Ubuntu 18.04</p>
</body>
</html>

Ahora cree su bloque de servidor creando un archivo "linuxtechi.lan ” con el siguiente contenido en la carpeta /etc/nginx/sites-disponible

[email protected]:~$ sudo vi /etc/nginx/sites-available/linuxtechi.lan
server {
    listen 80;
    root /var/www/linuxtechi;
    index index.html;
    server_name www.linuxtechi.lan;
}

Para activar el bloqueo del servidor creado anteriormente, cree un enlace simbólico desde “/etc/nginx/sites-disponible/linuxtechi.lan ” a “/etc/nginx/sites-enabled

[email protected]:~$ sudo ln -s /etc/nginx/sites-available/linuxtechi.lan /etc/nginx/sites-enabled

Ahora reinicie su servicio nginx usando el siguiente comando,

[email protected]:~$ sudo systemctl restart nginx

Nota: En caso de que no tenga un servidor DNS, debe agregar las siguientes entradas en el archivo de hosts de su máquina cliente,

192.168.0.107 www.linuxtechi.lan

Ahora acceda a su servidor web a través de la URL:http://{Web-Server-Name}

En mi caso, la URL es http://www.linuxtechi.lan

Habilite los certificados SSL para su servidor NGINX

A partir de ahora, nuestro servidor web nginx se ejecuta en el puerto 80 no seguro, para que el servidor web sea seguro, necesitamos instalar certificados SSL. Puede obtener los certificados SSL de fuentes confiables o también puede usar certificados autofirmados generados a través del comando openssl.

En este tutorial estoy generando los certificados para mi servidor web usando el comando openssl,

[email protected]:~$ sudo openssl req -x509 -days 703 -sha256 -newkey rsa:2048 -nodes -keyout /etc/ssl/private/linuxtechi.key -out /etc/ssl/certs/linuxtechi-cert.pem
[sudo] password for pkumar:
Generating a 2048 bit RSA private key
........................................................................
writing new private key to '/etc/ssl/private/linuxtechi.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:IN
State or Province Name (full name) [Some-State]:Delhi
Locality Name (eg, city) []:Delhi
Organization Name (eg, company) [Internet Widgits Pty Ltd]:LinuxTechi
Organizational Unit Name (eg, section) []:IT
Common Name (e.g. server FQDN or YOUR name) []:www.linuxtechi.lan
Email Address []:[email protected]
[email protected]:~$

El comando anterior ha generado la clave privada con "linuxtechi.key ” y certificados con el nombre “linuxtechi-cert.pem “, estos certificados serán aplicables durante los próximos dos años.

Ahora actualice su bloque de servidor, agregue la clave y la ubicación del certificado y cambie el puerto del servidor web de 80 a 443,

[email protected]:~$ sudo vi /etc/nginx/sites-available/linuxtechi.lan
server {
    listen 443 ssl;
    root /var/www/linuxtechi;
    index index.html;
    server_name www.linuxtechi.lan;
    ssl_certificate /etc/ssl/certs/linuxtechi-cert.pem;
    ssl_certificate_key /etc/ssl/private/linuxtechi.key;
}

Reinicie el servicio nginx usando el siguiente comando,

[email protected]:~$ sudo systemctl restart nginx
[email protected]:~$

Acceda a su servidor web en el protocolo https como,

https://www.linuxtechi.lan

Nota: Como hemos instalado nuestros certificados autofirmados, primero debemos verificar / hacer clic en "Agregar excepción" y luego "Confirmar excepción de seguridad" al acceder al servidor web en https.

Esto confirma que hemos habilitado con éxito los certificados autofirmados en nuestro servidor web Nginx y concluye el artículo. Si le gusta el artículo, comparta sus comentarios y comentarios en la sección de comentarios a continuación.


Ubuntu
  1. Cómo instalar y configurar Nginx en Ubuntu 20.04

  2. Cómo instalar y configurar un servidor NFS en Ubuntu 20.04

  3. Cómo instalar y configurar el servidor Algo VPN en Ubuntu 20.04

  4. Cómo instalar y configurar el servidor DHCP en Ubuntu 20.04

  5. Cómo instalar y configurar el servidor Redis en Ubuntu

Cómo instalar y configurar el servidor LAMP en Ubuntu

Cómo instalar y configurar el servidor OpenLDAP en Ubuntu 16.04

Cómo instalar y configurar VNC en Ubuntu Server 20.04

Instalar y configurar Virtualmin en el servidor Ubuntu 20.04 / Debian 10

Cómo instalar y configurar Nginx en Ubuntu 20.04 y Ubuntu 21.04

Cómo instalar Nginx en Ubuntu