Если брать к примеру Web-сервис разворачиваемый на Ubuntu Server, как Apache, Nginx, то я, зная, как настроить виртуальные хосты и сервисы на них, а вот с изучаемым Angie увы пока нет, и вот пока на тестовой системе сделаю себе заметки как это поправить чтобы, обратившись к ней я либо вспомню как делается, либо сделаю от и до. Мне проще по каждому что делаю составлять так называемые мини конспекты.

Шаг №1: Предварительно перед началом этой заметки разворачиваю Webсервис на базе Angie, где в качестве используемой операционной системы использую Ubuntu 22.04 Server.

Шаг №2: По умолчанию виртуальный каталог где размещается дефолтная страница – это /usr/share/angie, но, чтобы все было в едином стиле так же, как и для Nginx, то переделываю.

Шаг №3: Создаю виртуальный каталог, в котором будет размещаться сайт:

ekzorchik@srv-home:~$ sudo mkdir -p /var/www/site1/html

ekzorchik@srv-home:~$ cat /etc/group | grep angie

angie:x:999:

ekzorchik@srv-home:~$

ekzorchik@srv-home:~$ sudo chown -R angie:angie /var/www/site1/

ekzorchik@srv-home:~$ sudo chmod -R 755 /var/www/site1/html/

Шаг №4: Создаю произвольный html файл который будет отображаться при доступе к виртуальному хосту:

ekzorchik@srv-home:~$ sudo -u angie nano /var/www/site1/html/index.html

<html>

   <head>

      <title>

         Your First Site on Angie on Ubuntu 22.04 Server

      </title>

   </head>

   <body>

      <h1>

         My First Site on Angie on Ubuntu 22.04 Server

      </h1>

   </body>

</html>

Шаг №5: Создаем каталог, в котором будут храниться конфигурационные файлы виртуальных хостов Angie:

ekzorchik@srv-home:~$ sudo mkdir -p /etc/angie/sites-available

Шаг №6: Создаем каталог, в котором будут содержаться символические ссылки на активные конфигурационные файлы виртуальных хостов из директории sites-available:

ekzorchik@srv-home:~$ sudo mkdir -p /etc/angie/sites-enabled

Шаг №7: Открываем angie.conf и изменяем месторасположение конфигурационных файлов сайтов в секции http {}:

ekzorchik@srv-home:~$ sudo nano /etc/angie/angie.conf

#include /etc/angie/http.d/*.conf;

include /etc/angie/sites-enabled/*.conf;

После не забываем сохранить внесенные изменения.

Шаг №8: Далее создаем конфигурационный файл для настраиваемого виртуального хоста (site1), либо с нуля, либо опираясь на дефолтный:

ekzorchik@srv-home:~$ sudo cp /etc/angie/http.d/default.conf /etc/angie/sites-available/site1.conf

ekzorchik@srv-home:~$ sudo nano /etc/angie/sites-available/site1.conf

server {

    listen       80;

    server_name  localhost;

    access_log  /var/log/angie/host.access.log  main;

    location / {

        root   /var/www/site1/html;

        index  index.html index.htm;

    }

    location /status/ {

        api     /status/;

        allow   127.0.0.1;

        deny    all;

    }

    error_page   500 502 503 504  /50x.html;

    location = /50x.html {

        root   /var/www/html/site1/html;

    }

После не забываем сохранить внесенные изменения.

Шаг №9: Далее активируем сайт путем создания символической ссылки на расположение в каталоге /etc/angie/sites-enabled/:

ekzorchik@srv-home:~$ sudo ln -s /etc/angie/sites-available/site1.conf /etc/angie/sites-enabled/site1.conf

Шаг №10: Проверяем конфигурационный файл на ошибки:

ekzorchik@srv-home:~$ sudo angie -T

angie: [emerg] unexpected end of file, expecting "}" in /etc/angie/sites-enabled/site1.conf:22

angie: configuration file /etc/angie/angie.conf test failed

ekzorchik@srv-home:~$

вижу ошибку, открываю 22 строку и правлю

ekzorchik@srv-home:~$ sudo nano +22 /etc/angie/sites-available/site1.conf

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

ekzorchik@srv-home:~$ cat /etc/angie/sites-available/site1.conf

server {

    listen       80;

    server_name  localhost;

    access_log  /var/log/angie/host.access.log  main;

    location / {

        root   /var/www/site1/html;

        index  index.html index.htm;

    }

    location /status/ {

        api     /status/;

        allow   127.0.0.1;

        deny    all;

    }

    error_page   500 502 503 504  /50x.html;

    location = /50x.html {

        root   /var/www/html/site1/html;

    }

}

ekzorchik@srv-home:~$

Возвращаюсь к проверке конфигурационных файлов на предмет еще ошибок:

ekzorchik@srv-home:~$ sudo angie -t

angie: the configuration file /etc/angie/angie.conf syntax is ok

angie: configuration file /etc/angie/angie.conf test is successful

ekzorchik@srv-home:~$

Ошибок нет.

Шаг №11: Перезапускаю Webсервис Angie:

ekzorchik@srv-home:~$ sudo systemctl restart angie.service && sudo systemctl status angie.service | head -n 10

● angie.service - Angie - high performance web server

     Loaded: loaded (/lib/systemd/system/angie.service; enabled; vendor preset: enabled)

     Active: active (running) since Mon 2025-03-17 12:19:23 MSK; 14ms ago

       Docs: https://en.angie.software/angie/docs/

    Process: 1136 ExecStart=/usr/sbin/angie -c /etc/angie/angie.conf (code=exited, status=0/SUCCESS)

   Main PID: 1137 (angie)

      Tasks: 3 (limit: 4562)

     Memory: 24.2M

        CPU: 18ms

     CGroup: /system.slice/angie.service

ekzorchik@srv-home:~$

Шаг №12: Проверяю, если открыть браузер и обратиться к этой системе, как http://IP&DNS, то увижу содержимое своего index.html

Содержимое своего index.html для созданного виртуального сайта на Angie.

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

Шаг №13: По такому принципу выше запускают последующие сайты на текущей системе где в качестве веб-сервера работает Angie.

Итого, заметка для себя составлена и в последствии мне пригодится, а пока я прощаюсь, с уважением автор блога ekzorchik.