Как настроить серверные блоки Nginx в Ubuntu 18.04 LTS

by itisgood

Сегодня в этом руководстве мы научимся настраивать серверные блоки Nginx в Ubuntu 18.04.

Блоки сервера похожи на виртуальные хосты в Apache, которые позволяют размещать несколько веб-сайтов или домены на одном сервере.

Мой IP-адрес тестового поля – 192.168.225.24, а имя хоста – ubuntuserver.

Установка серверных блоков Nginx в Ubuntu 18.04 LTS

Убедитесь, что вы обновили свою систему Ubuntu до последней версии.

$ sudo apt-get update

1. Установите веб-сервер Nginx

Чтобы установить веб-сервер Nginx на Ubuntu, запустите:

$ sudo apt-get install nginx

Как только Nginx установлен, проверьте, работает он или нет, просматривая тестовую страницу nginx в браузере.

Откройте веб-браузер и укажите его на http: // IP_Address или http: // localhost.

Вы должны увидеть страницу, как показано ниже.

Вы также можете посмотреть как настроить безопасность Nginx

2. Создайте веб-каталог для каждого хоста

Я собираюсь создать два блока сервера, а именно ostechnix1.lan и ostechnix2.lan.

Создадим каталог для первого серверного блока ostechnix1.lan.

Этот каталог необходим для хранения данных наших серверных блоков.

Для этого введите:

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

Аналогичным образом создайте каталог для второго серверного блока ostechnix2.lan, как показано ниже.

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

Эти два каталога принадлежат пользователю root. Нам нужно изменить права собственности на обычного пользователя.

Для этого запустите:

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

Здесь $ USER ссылается на зарегистрированного пользователя.

Затем установите права доступа для чтения в корневой каталог Nginx: i.e / var / www / html / using:

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

Мы делаем это, потому что мы уже создали отдельный каталог для каждого блока сервера для хранения своих данных. Т

аким образом, мы создали корневой каталог Nginx как доступный только для чтения для всех пользователей, кроме пользователя root.

Мы создали необходимые каталоги для хранения данных каждого блока сервера, установки соответствующих разрешений.

Теперь пришло время создать несколько примеров страниц, которые будут обслуживаться с каждого блока сервера.

3. Создавайте демонстрационные веб-страницы для каждого хоста

Создадим образец страницы для сайта ostechnix1.lan. Для этого запустите:

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

Добавьте в него следующие строки:

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

Сохраните и закройте файл.

Аналогично, создайте образец страницы для сайта ostechnix2.lan:

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

Добавьте в него следующие строки:

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

Сохраните и закройте файл.

4. Создайте файл конфигурации для каждого хоста

Затем нам нужно создать файлы конфигурации для каждого блока сервера.

Сначала сделаем это для сайта ostechnix1.lan.

Скопируйте содержимое файла конфигурационного файла сервера по умолчанию на новые файлы блоков сервера, как показано ниже.

$ 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

Затем отредактируйте файл ostechnix.lan1.conf:

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

Внесите необходимые изменения в директиву server_name и root, чтобы они соответствовали первому доменному имени. Все изменения выделены жирным шрифтом ниже.

# 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;
}

Сохраните и закройте файл.

Затем отредактируйте файл ostechnix2.lan.conf:

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

Внесите необходимые изменения в директивы server_name и root, чтобы они отразились на втором доменном имени.

Все изменения выделены жирным шрифтом.

# 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;
}

Сохраните / закройте файл.

5. Включить серверные блоки Nginx

После внесения необходимых изменений отключите конфигурационный файл блока сервера по умолчанию и включите все созданные файлы конфигурации блока сервера, как показано ниже.

$ 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-en

Перезапустите службу Nginx, чтобы вступить в силу изменения.

$ sudo systemctl restart nginx

Мы успешно настроили серверные блоки в Nginx. Давайте продолжим и посмотрим, работают ли они или нет.

6. Тестирование блоков сервера Nginx

Откройте файл / etc / hosts в любом редакторе:

$ sudo vi /etc/hosts

Добавьте все свои виртуальные веб-сайты / домены один за другим, как показано ниже.

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

You may also like

Leave a Comment