Publicidad

Como configurar virtualhost en nginx


Por Alex el 05/08/2022, Comentar el artículo

Comparte este artículo:      




Con Virtualhost podemos crear multiples webs en un mismo servidor nginx ...


Vamos a configurar nginx paso a paso para que soporte multiples sitios web, en el ejemplo lo haremos con tres diferentes.

Creamos tres directorios donde más nos guste, en el ejemplo en /home/vagrant/www

Estructura de directorios web

Ahora creamos los ficheros de configuración de nginx, uno por cada site y el dominio que utilizaremos acceder a ellos sera:

  • site-one.local
  • site-two.local
  • site-three.local
Este fichero se tiene que crear en el directorio /etc/nginx/sites-available y después crear un enlace simbólico en el directorio /etc/nginx/sites-enabled de la siguiente forma

sudo ln -s /etc/nginx/sites-available/site.two.local.conf /etc/nginx/sites-enabled/

Dejo de ejemplo el fichero de configuración del site.one.local.conf, a los otros dos hay que cambiar el server_name por el nombre del site que corresponde y la ruta donde pone root.


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

	root /home/vagrant/www/site-one;

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

	server_name site-one.local;

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

	# Desde aqui hasta el final es lo que necesita para funcionar PHP
	location ~ \.php$ {
		include snippets/fastcgi-php.conf;
		fastcgi_pass unix:/run/php/php7.4-fpm.sock;
	}

	location ~ /\.ht { 
		deny all;
	}
}



El directorio de nginx quedaría de la siguiente forma:

Estructura de directorios web de nginx - sites-enabled

Y después de crear y enlazar los ficheros de configuración hay que reiniciar nginx

sudo /etc/init.d/nginx restart

Por último queda añadir en el fichero /etc/hosts de nuestra máquina las entradas a los tres sites que hemos creado, en mi caso tengo que poner la IP del servidor de pruebas donde los tengo, pero si lo teneis todo en local hay que poner 127.0.0.1

Añadimos en nuestro host local las entrados a los dominios

Hecho esto, nos queda probarlos en el navegador:

Probando los sites en el navegador

Y ya esta configurado nginx con multiples webs.

Y esto es todo, feliz programming
Saludos
Alex


Si te ha gustado el artículo compartelo en:      




Añadir un comentarios:

Nombre:
Email: (no se publica el email)




SIGUENOS EN

ARCHIVO

Publicidad

.