Вступ: Nginx (“engine x”) — це HTTP веб-сервер, зворотний проксі-сервер, кеш-контенту, балансувальник навантаження, TCP/UDP проксі-сервер і поштовий проксі-сервер. Спочатку написаний Ігорем Сисоєвим та розповсюджується за ліцензією 2-clause BSD.
Огляд: Цей проєкт полягає в налаштуванні та конфігурації NGINX на сервері Ubuntu для демонстрації моїх вмінь працювати з базовими конфігураціями веб-серверів та надання функціонального веб-сервера.
Використане середовище: Azure VM (Ubuntu 24.04)
Щоб почати працювати з платформою Azure, ознайомтесь тут: Створіть свій безкоштовний обліковий запис Azure або обліковий запис із оплатою за фактом
Конфігурація NGINX
Крок 1: Встановіть Nginx
sudo apt update
sudo apt install nginx -y
Крок 2: На порталі Azure відкрийте порт 80 у групі безпеки мережі вашої машини.
Крок 3: Після встановлення Nginx на VM перевірте статус nginx
systemctl status nginx
Як підтверджено, сервіс працює. Однак найкращий спосіб перевірити це — це фактично зробити запит до сторінки Nginx.
http://yourserverip має завантажити вітальну сторінку NGINX.
Крок 4: Налаштуйте NGINX для обслуговування власної HTML-сторінки як сторінки за замовчуванням.
sudo nano /var/www/html/index.html
Введіть код HTML в файл index.html
Welcome to DevOps Stage 0
Mary Bamisile / Maryb
``` Примітка: Щоб зберегти файл, натисніть Ctrl+X (для виходу), потім, коли з'явиться запит на збереження, натисніть Y і потім Enter. Тепер потрібно налаштувати файл конфігурації Nginx conf.d таким чином: ``` nano cd /etc/nginx/conf.d/default.conf ``` Додайте наступне в файл: ``` server { listen 80; server_name myVM-IP-address; root /var/www/html; index index.html; location /{ try_files $uri $uri/ =404; } } ``` Перевірка на наявність помилок у конфігураційному файлі nginx ``` sudo nginx -t ``` Перезапуск nginx для застосування змін: ``` sudo systemctl restart nginx ``` Нарешті, відкрийте веб-сторінку в браузері за адресою [http://VM-IP-address](http://vm-ip-address) 
**Виклики, з якими я зіткнувся в цьому проєкті:** Я не зіткнувся з серйозними проблемами під час роботи над цим проєктом, окрім помилок, коли команди не виконувались через помилку «доступ заборонено», коли я намагався запустити їх без _‘sudo’_ для надання привілеїв доступу.
**Внесок цього проєкту в моє навчання та професійні цілі:** Це завдання демонструє мою здатність працювати з базовими конфігураціями веб-серверів та надавати функціональний веб-сервер як DevOps Engineer.
Щоб дізнатися більше про ресурси DevOps, ознайомтесь тут: [Devops](https://hng.tech/hire/devops-engineers)
Перекладено з: [Deployment of a functional web server using NGINX](https://medium.com/@marybam/deployment-of-a-functional-web-server-using-nginx-d360504f8689)