GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo configurar bloques de servidor Nginx en Ubuntu 18.04 LTS

En nuestra guía anterior, discutimos cómo configurar servidores virtuales Apache en Ubuntu 18.04 LTS . Hoy, en esta guía, vamos a aprender a configurar bloques de servidores Nginx en Ubuntu 18.04. Los bloques del servidor son similares a los hosts virtuales en Apache que lo ayudan a alojar múltiples sitios web/dominios en un solo servidor. La dirección IP de mi caja de prueba es 192.168.225.24 y el nombre de host es ubuntuserver .

Configurar bloques de servidor Nginx en Ubuntu 18.04 LTS

Asegúrese de haber actualizado su sistema Ubuntu a la versión más reciente.

$ sudo apt-get update

1. Instalar el servidor web Nginx 

Para instalar el servidor web Nginx en Ubuntu, ejecute:

$ sudo apt-get install nginx

Una vez instalado Nginx, compruebe si funciona o no navegando por la página de prueba de nginx en el navegador.

Abra su navegador web y diríjalo a http://Dirección_IP o http://localhost . Debería ver una página como la siguiente.

¡Bueno! ¡¡El servidor web Nginx está activo y funcionando!!

2. Crear directorio web para cada host

Voy a crear dos bloques de servidor, a saber, ostechnix1.lan y ostechnix2.lan .

Vamos a crear un directorio para el primer bloque del servidor ostechnix1.lan. Este directorio es necesario para almacenar los datos de nuestros bloques de servidor.

Para hacerlo, ingrese:

$ sudo mkdir -p /var/www/html/ostechnix1.lan/public_html

Del mismo modo, cree un directorio para el segundo bloque de servidor ostechnix2.lan como se muestra a continuación.

$ sudo mkdir -p /var/www/html/ostechnix2.lan/public_html

Los dos directorios anteriores son propiedad del usuario root. Necesitamos cambiar la propiedad al usuario normal.

Para hacerlo, ejecute:

$ sudo chown -R $USER:$USER /var/www/html/ostechnix1.lan/public_html
$ sudo chown -R $USER:$USER /var/www/html/ostechnix2.lan/public_html

Toma, $USUARIO refiere al usuario actualmente conectado.

A continuación, configure los permisos de lectura en el directorio raíz de Nginx, es decir, /var/www/html/ usando el comando:

$ sudo chmod -R 755 /var/www/html/

Hacemos esto porque ya creamos un directorio separado para cada bloque de servidor para almacenar sus datos. Así que hicimos que el directorio raíz de Nginx fuera de solo lectura para todos los usuarios excepto el usuario raíz.

Hemos creado directorios necesarios para almacenar datos de cada bloque de servidor, configure los permisos adecuados. Ahora es el momento de crear algunas páginas de muestra que se servirán desde cada bloque de servidor.

3. Cree páginas web de demostración para cada host

Vamos a crear una página de muestra para el sitio ostechnix1.lan. Para hacerlo, ejecute:

$ sudo vi /var/www/html/ostechnix1.lan/public_html/index.html

Agregue las siguientes líneas en él:

<html>
 <head>
 <title>www.ostechnix.lan</title>
 </head>
 <body>
 <h1>Hello, This is a test page for ostechnix1.lan website</h1>
 </body>
</html>

Guarde y cierre el archivo.

Del mismo modo, cree una página de muestra para el sitio ostechnix2.lan:

$ sudo vi /var/www/html/ostechnix2.lan/public_html/index.html

Agregue las siguientes líneas en él:

<html>
 <head>
 <title>www.ostechnix.lan</title>
 </head>
 <body>
 <h1>Hello, This is a test page for ostechnix2.lan website</h1>
 </body>
</html>

Guarde y cierre el archivo.

4. Crear archivo de configuración para cada host

A continuación, debemos crear archivos de configuración para cada bloque de servidor. Primero, hagamos esto para el sitio ostechnix1.lan.

Copie el contenido del archivo de configuración de bloqueo del servidor predeterminado en los nuevos archivos de bloqueo del servidor como se muestra a continuación.

$ sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/ostechnix1.lan.conf
$ sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/ostechnix2.lan.conf

A continuación, edite ostechnix.lan1.conf archivo:

$ sudo vi /etc/nginx/sites-available/ostechnix1.lan.conf

Realice los cambios necesarios en server_name y raíz directivas para que coincidan con el primer nombre de dominio. Todos los cambios se muestran en negrita a continuación.

# Default server configuration
#
server {
listen 80 default_server;
listen [::]:80 default_server;

# SSL configuration
#
# listen 443 ssl default_server;
# listen [::]:443 ssl default_server;
#
# Note: You should disable gzip for SSL traffic.
# See: https://bugs.debian.org/773332
#
# Read up on ssl_ciphers to ensure a secure configuration.
# See: https://bugs.debian.org/765782
#
# Self signed certs generated by the ssl-cert package
# Don't use them in a production server!
#
# include snippets/snakeoil.conf;

root /var/www/html/ostechnix1.lan/public_html;

# Add index.php to the list if you are using PHP
index index.html index.htm index.nginx-debian.html;

server_name ostechnix1.lan www.ostechnix1.lan;

location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}

Guarde y cierre el archivo.

A continuación, edite ostechnix2.lan.conf archivo:

$ sudo vi /etc/nginx/sites-available/ostechnix2.lan.conf

Realice los cambios necesarios en server_name y raíz directivas para reflejar el segundo nombre de dominio. Todos los cambios se muestran en negrita.

# Default server configuration
#
server {
listen 80;
listen [::]:80;

# SSL configuration
#
# listen 443 ssl default_server;
# listen [::]:443 ssl default_server;
#
# Note: You should disable gzip for SSL traffic.
# See: https://bugs.debian.org/773332
#
# Read up on ssl_ciphers to ensure a secure configuration.
# See: https://bugs.debian.org/765782
#
# Self signed certs generated by the ssl-cert package
# Don't use them in a production server!
#
# include snippets/snakeoil.conf;

root /var/www/html/ostechnix2.lan/public_html;

# Add index.php to the list if you are using PHP
index index.html index.htm index.nginx-debian.html;

server_name ostechnix2.lan www.ostechnix2.lan;

location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}

Como habrás notado en la configuración anterior, he realizado un cambio más. Eliminé el servidor_predeterminado línea en el escucha 80; y escuchar [::]:80; directivas en el segundo archivo de bloque de servidor (ostechnix2.lan). Porque ya usamos default_server línea en el primer bloque del servidor, por lo tanto, lo eliminamos del segundo archivo para evitar conflictos.

Guarde/cierre el archivo.

5. Habilitar bloques de servidor Nginx

Después de realizar los cambios necesarios, deshabilite el archivo de configuración de bloqueo del servidor predeterminado y habilite todos los archivos de configuración de bloqueo del servidor recién creados como se muestra a continuación.

$ sudo rm /etc/nginx/sites-enabled/default
$ sudo ln -s /etc/nginx/sites-available/ostechnix1.lan.conf /etc/nginx/sites-enabled/
$ sudo ln -s /etc/nginx/sites-available/ostechnix2.lan.conf /etc/nginx/sites-enabled/

Reinicie el servicio Nginx para aplicar los cambios.

$ sudo systemctl restart nginx

Eso es todo. Hemos configurado correctamente los bloques de servidor en Nginx. Avancemos y verifiquemos si funcionan o no.

6. Pruebe los bloques del servidor Nginx

Abra el archivo /etc/hosts en cualquier editor:

$ sudo vi /etc/hosts

Agregue todos sus sitios web/dominios virtuales uno por uno como se muestra a continuación.

[...]
192.168.225.24   ostechnix1.lan
192.168.225.24   ostechnix2.lan
[...]

Tenga en cuenta que si desea acceder a los bloques del servidor desde cualquier sistema remoto, debe agregar las líneas anteriores en el archivo /etc/hosts de cada sistema remoto. Guarde y cierre el archivo.

Abra su navegador web y diríjalo a http://ostechnix1.lan o http://ostechnix2.lan .

página de prueba de ostechnix1.lan:

página de prueba de ostechnix2.lan:

¡Felicidades! Ahora puede acceder a todos sus sitios web/dominios. A partir de ahora, puede cargar los datos y servirlos desde diferentes sitios web.


Ubuntu
  1. Cómo configurar bloques de servidor Nginx en Ubuntu 18.04

  2. Cómo instalar Nginx en Ubuntu 20.04

  3. Cómo configurar el servidor de almacenamiento iSCSI en Ubuntu 18.04 LTS

  4. Cómo configurar el servidor Rsyslog en Ubuntu 18.04 LTS

  5. Cómo configurar un servidor de almacenamiento iSCSI en Ubuntu 20.04 LTS

Cómo actualizar al servidor Ubuntu 20.04 LTS

Cómo configurar la última versión de MySQL en Ubuntu 20.04 LTS

Cómo configurar el servidor Git en Ubuntu 20.04

Cómo configurar el servidor Rsyslog en Ubuntu

Cómo configurar el servidor DHCP en Ubuntu

Cómo instalar Nginx en Ubuntu 18.04 LTS