DataLife Engine / Настройка виртуальных хостов NGINX в CentOS / RHEL

Настройка виртуальных хостов NGINX в CentOS / RHEL


Для управления индивидуальными настройками отдельных сайтов, NGINX использует блоки server, которые принято называть виртуальными хостами (как в Apache). Виртуальные хосты позволяют размещать несколько сайтов с разными конфигурациями на одном веб сервере.

Скрипт позволяющий автоматизировать процесс добавления сайтов:
#!/bin/bash

read -p "Please enter your domain: " domain

echo "Make directories..."
if [ -e /etc/nginx/sites-available ];
then
    echo "Directory /etc/nginx/sites-available exist..."
else
    mkdir /etc/nginx/{sites-available,sites-enabled}
fi
mkdir -p /var/www/$domain/{bak,log,ssl,web}

echo "Creating virtual host file for $domain"
cat <<EOT > /etc/nginx/sites-available/$domain.conf
server {
    listen       80;
    server_name  $domain;
	
    location / {
        root   /var/www/$domain/web;
	autoindex on;
    }
	
    location = /robots.txt {
	log_not_found off;
	access_log off;
    }

    location = /favicon.ico {
	log_not_found off;
	access_log off;
    }

    location = /apple-touch-icon.png {
	log_not_found off;
	access_log off;
    }

    location = /apple-touch-icon-precomposed.png {
	log_not_found off;
	access_log off;
    }
	
    error_log	/var/www/$domain/log/error.log error;
    access_log  /var/www/$domain/log/access.log;
}
EOT

echo "Creating a symbolic link..."
ln -s /etc/nginx/sites-available/$domain.conf /etc/nginx/sites-enabled/

echo "Restarting nginx.service"
systemctl restart nginx

nginx-vhost-rhel.sh [1.12 Kb] (cкачиваний: 49)
27-07-2020, 19:59
Вернуться назад