GNU/Linux >> Tutoriales Linux >  >> Panels >> Panels

Host virtual Nginx:bloque de servidor Nginx

Le mostraremos cómo crear un host virtual Nginx, también conocido como bloque de servidor Nginx. En uno de nuestros tutoriales anteriores explicamos cómo instalar y configurar el servidor LNMP (Nginx, MySQL y PHP) en un VPS Debian 6 (squeeze), ahora vamos a ver cómo configurar un nuevo bloque de servidor (host virtual ) para cada nuevo dominio.

Nota:“VirtualHost” es un término de Apache. Nginx no tiene hosts virtuales, tiene "Bloques de servidor" que usan las directivas server_name y listen para vincularse a los sockets tcp.

El siguiente script se puede usar para configurar un nuevo bloque de servidor en su servidor Nginx.

#!/usr/bin/env bash
#
# Nginx - new server block
# http://rosehosting.com

# Functions
ok() { echo -e '\e[32m'$1'\e[m'; } # Green
die() { echo -e '\e[1;31m'$1'\e[m'; exit 1; }

# Variables
NGINX_AVAILABLE_VHOSTS='/etc/nginx/sites-available'
NGINX_ENABLED_VHOSTS='/etc/nginx/sites-enabled'
WEB_DIR='/var/www'
WEB_USER='www-data'

# Sanity check
[ $(id -g) != "0" ] && die "Script must be run as root."
[ $# != "1" ] && die "Usage: $(basename $0) domainName"

# Create nginx config file
cat > $NGINX_AVAILABLE_VHOSTS/$1 <<EOF
server {
  server_name $1;
  listen 80;
  root $WEB_DIR/$1/public_html;
  access_log $WEB_DIR/$1/logs/access.log;
  error_log $WEB_DIR/$1/logs/error.log;
  index index.html index.php;
  location / {
    try_files \$uri \$uri/ @rewrites;
  }
  location @rewrites {
    rewrite ^ /index.php last;
  }
  location ~* \.(jpg|jpeg|gif|css|png|js|ico|html)$ {
    access_log off;
    expires max;
  }
  location ~ /\.ht {
    deny  all;
  }
  location ~ \.php {
    fastcgi_index index.php;
    fastcgi_split_path_info ^(.+\.php)(.*)$;
    include /etc/nginx/fastcgi_params;
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_param SCRIPT_FILENAME \$document_root\$fastcgi_script_name;
  }
}
EOF

# Creating {public,log} directories
mkdir -p $WEB_DIR/$1/{public_html,logs}

# Creating index.html file
cat > $WEB_DIR/$1/public_html/index.html <<EOF
<!DOCTYPE html>
<html lang="en">
<head>
        <title>$1</title>
        <meta charset="utf-8" />
</head>
<body class="container">
        <header><h1>$1<h1></header>
        <div id="wrapper"><p>Hello World</p></div>
        <footer>© $(date +%Y)</footer>
</body>
</html>
EOF

# Changing permissions
chown -R $WEB_USER:$WEB_USER $WEB_DIR/$1

# Enable site by creating symbolic link
ln -s $NGINX_AVAILABLE_VHOSTS/$1 $NGINX_ENABLED_VHOSTS/$1

# Restart
echo "Do you wish to restart nginx?"
select yn in "Yes" "No"; do
    case $yn in
        Yes ) /etc/init.d/nginx restart ; break;;
        No ) exit;;
    esac
done

ok "Site Created for $1"

Esto es lo que hace, en pocas palabras:

  1. Crea un nuevo directorio para el sitio (/var/www/DOMAIN.COM/public_html)
  2. Crea un nuevo directorio para archivos de registro (/var/www/DOMAIN.COM/logs)
  3. Establece el propietario/grupo correcto.
  4. Crea un archivo index.html simple para mostrar que el sitio está funcionando.
  5. Pide reiniciar.

Para usar el tipo de script:

./nginx_vhost.sh  newdomain.com

El script debería funcionar en Debian, Ubuntu y distribuciones estrechamente relacionadas.

Si usa uno de nuestros planes de alojamiento VPS de Ubuntu , no tiene que crear Nginx Virtual Host usted mismo, simplemente puede pedirle a nuestros administradores expertos de Linux que creen un bloque de servidor Nginx para usted. Están disponibles las 24 horas del día, los 7 días de la semana y atenderán su solicitud de inmediato.

PD. Si le gustó esta publicación, sobre cómo crear un host virtual Nginx, compártala con sus amigos en las redes sociales usando los botones a la izquierda o simplemente deje una respuesta a continuación. Gracias.


Panels
  1. Cómo crear un host virtual Nginx (bloque de servidor)

  2. Instale el servidor web Apache en Linux Mint 13 / Linux Mint 14

  3. Instale Nginx y configure el host virtual en Ubuntu 20.04

  4. Cómo instalar LEMP en Ubuntu 16.04

  5. Cómo instalar Nginx en Ubuntu 18.04

Cómo instalar Nginx en Ubuntu 20.04

Cómo instalar Nginx en CentOS 8

Instalación de Nginx en Ubuntu 14.04 y 16.04

Instale Nginx en CentOS 7 / RHEL 7

Cómo alojar un sitio web en el servidor web NGINX

Cómo configurar un host virtual Nginx