Вступ
Nginx – це один із найбільш популярних веб/проксі серверів у світі. Є версії для сімейства Unix-подібних операційних систем та Microsoft Windows.
У цій публікації ми обговоримо, як інсталювати Nginx на вашому сервері Ubuntu 22.04, налаштувати фаєрволу та керування процесом Nginx .
Передумови
Перш ніж розпочати, у вас повинен бути сервер( віртуальна машина, фізичний сервер , екземпляр – серверний ресурс, що надається сторонніми хмарними службами), а також користувач із правами sudo.
Встановлення nginx з репозиторіїв Ubuntu
Перед встановлення nginx нам необхідно отримати останню версію останню версію списку пакетів, а це робиться за допомогою команди:
sudo apt update
Після чого ми можемо встановити nginx:
sudo apt install nginx
Натисніть Y , коли буде запропоновано підтвердити встановлення. Якщо вам буде запропоновано перезапустити будь-які служби, натисніть, ENTER щоб прийняти значення за замовчуванням і продовжити. apt встановить Nginx і будь-які необхідні залежності на ваш сервер.
Встановлення nginx з репозиторіїв Nginx-а
Цього разу щоб встановити nginx нам потрібно буде встановити додаткові пакети, а также nginx репориторій.
Встановлення всіх необхідних пакетів:
sudo apt install curl gnupg2 ca-certificates lsb-release ubuntu-keyring -y
Не буду зупинятися на кожному пакету який ми встановимо, тільки відзначу що -y – я прописав для того, щоб погодитись із автоматичним встановленням усіх пакетів
Тепер потрібно імпортувати офіційний ключ, що використовується apt для автентифікації пакетів.
Завантажте ключ:
curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg > /dev/null
Перевірка ключа:
sudo gpg --dry-run --quiet --no-keyring --import --import-options import-show /usr/share/keyrings/nginx-archive-keyring.gpg
Результат виконання команди повинен бути:
pub rsa2048 2011-08-19 [SC] [expires: 2024-06-14]
573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62
uid nginx signing key <signing-key@nginx.com>
Для підключення репозиторію стабільної версії nginx, виконайте таку команду:
echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \
http://nginx.org/packages/ubuntu `lsb_release -cs` nginx" \
| sudo tee /etc/apt/sources.list.d/nginx.list
Після чого можна встановлювати nginx:
sudo apt update
sudo apt install nginx
Налаштування фаєрволу
Нам потрібно буде дозволити HTTP та HTTPS трафіки, а це відповідно: 80 та 443 порти.
Якщо робити це за допомогою ufw то нам потрібно буде ввести наступні команди:
sudo ufw allow 80
sudo ufw allow 443
sudo ufw enable
Перші дві команди – ми дозволяємо HTTP та HTTPS трафіки. Остання команда – включаємо ufw фаєрвол.
Для того щоб дозволити трафіки HTTP та HTTPS за допомогою iptables нам потрібно буде ввести наступні команди:
sudo iptables -I INPUT -p tcp -m tcp --dport 80 -j ACCEPT
sudo iptables -I INPUT -p tcp -m tcp --dport 443 -j ACCEPT
Та щоб зберегти дані правила:
sudo apt-get install iptables-persistent -y
а потім:
sudo netfilter-persistent save
Керування процесом Nginx
Давайте розглянемо основні команди для керування процесом nginx
:
– зупинка sudo systemctl stop nginx
;
– запуск sudo systemctl start nginx
;
– перезапуск sudo systemctl restart nginx
;
– перезавантаження без розриву з’єднань(корисно використовувати коли якщо ви лише вносите зміни в конфігурацію), тобто, nginx запускає ще один процес який буде обробляти нові запити, а старий процес буде завершено лиш тоді коли він обробить існуючі на даний момент sudo systemctl restart nginx
;
– відключити автоматичний запуск під час завантаження сервера sudo systemctl disable nginx
;
– увімкнути автоматичний запуск під час завантаження сервера sudo systemctl enable nginx
Висновки
Сьогодні ми навчились встановлювати nginx
як із репозиторіїв Ubuntu
так і з репозиторія nginx
, а також ми налаштували фаєрвол для HTTP та HTTPS трафіків, та навчились керувати процесом nginx
.
В майбутніх публікаціях я розповім як налаштовувати nginx.