Если брать к примеру 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
Вижу, делаю вывод что настроенные виртуальные конфигурационные файлы отрабатывают.
Шаг №13:
По такому принципу выше запускают последующие сайты на текущей системе где в качестве веб-сервера работает Angie.
Итого, заметка для себя составлена и в последствии мне пригодится, а пока я прощаюсь, с уважением автор блога ekzorchik.