Встановлення та налаштування Nginx на CentOS 7
Nginx – це високопродуктивний веб-сервер і зворотний проксі-сервер, який широко використовується для обслуговування статичного контенту, обробки одночасних з’єднань і балансування навантаження. Цей посібник допоможе вам встановити та налаштувати Nginx на сервері CentOS 7.
1. Оновлення системи
Перед встановленням Nginx переконайтеся, що ваша система оновлена. Відкрийте термінал і виконайте наступні команди:
sudo yum update
2. Встановлення Nginx
Для встановлення Nginx ви можете скористатися стандартним менеджером пакетів yum:
sudo yum install epel-release
sudo yum install nginx
Ця команда встановить Nginx і всі необхідні залежності.
3. Запуск і включення Nginx
Після встановлення запустіть службу Nginx і увімкніть її автоматичний запуск при завантаженні:
sudo systemctl start nginx
sudo systemctl enable nginx
4. Налаштування брандмауера
Щоб дозволити веб-трафік на ваш сервер, вам потрібно налаштувати брандмауер на дозвіл HTTP і HTTPS-трафіку. Використовуйте наступні команди, щоб відкрити необхідні порти:
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
5. Перевірте встановлення
Щоб переконатися, що Nginx встановлений і працює, відкрийте веб-браузер і перейдіть за IP-адресою вашого сервера:
http://your_server_ip
Ви повинні побачити стандартну вітальну сторінку Nginx, яка свідчить про те, що установка пройшла успішно.
6. Налаштування Nginx
Конфігураційні файли Nginx знаходяться в /etc/nginx/. Основним конфігураційним файлом є nginx.conf, а блоки серверів (подібні до віртуальних хостів в Apache) визначаються в каталозі conf.d.
Крок 1: Створення нового серверного блоку
Щоб створити новий серверний блок для вашого сайту, створіть новий конфігураційний файл в каталозі /etc/nginx/conf.d/. Наприклад, створіть файл з назвою example.com.conf:
sudo nano /etc/nginx/conf.d/example.com.conf
Додайте наступну конфігурацію:
server {
listen 80;
server_name example.com www.example.com;
root /var/www/example.com/html;
index index.html index.htm;
location / {
try_files $uri $uri/ =404;
} }
Замініть example.com на ваше доменне ім’я і налаштуйте кореневий каталог відповідно до того, де будуть розміщені файли вашого сайту.
Крок 2: Створіть корінь документа
Далі створіть кореневий каталог документів для вашого веб-сайту:
sudo mkdir -p /var/www/example.com/html
Ви також можете створити приклад файлу index.html для тестування:
echo "<h1>Welcome to Example.com!</h1>" | sudo tee /var/www/example.com/html/index.html
7. Тестування конфігурації Nginx
Перед застосуванням змін перевірте конфігурацію Nginx на наявність синтаксичних помилок:
sudo nginx -t
Якщо результат покаже, що конфігурація виконана успішно, перезапустіть Nginx, щоб застосувати зміни:
sudo systemctl restart nginx
8. Налаштування HTTPS за допомогою Let’s Encrypt (необов’язково)
Щоб захистити свій сайт за допомогою SSL, ви можете використовувати Let’s Encrypt для отримання безкоштовного SSL-сертифіката. Спочатку встановіть Certbot:
sudo yum install certbot python2-certbot-nginx
Потім запустіть Certbot, щоб отримати і встановити SSL-сертифікат:
sudo certbot --nginx -d example.com -d www.example.com
Дотримуйтесь підказок, щоб завершити встановлення. Certbot автоматично налаштує Nginx на використання SSL.
9. Автоматичне поновлення сертифіката
Сертифікати Let’s Encrypt дійсні протягом 90 днів. Щоб налаштувати автоматичне оновлення, додайте завдання cron:
sudo crontab -e
Додайте наступний рядок, щоб перевіряти і оновлювати сертифікати щодня:
0 0 * * * * /usr/bin/certbot renew --quiet
10. Висновок
Ви успішно встановили і налаштували Nginx на CentOS 7. Тепер Nginx готовий до роботи з вашим сайтом, і у вас є можливість захистити його за допомогою SSL за допомогою Let’s Encrypt. Регулярно контролюйте свій сервер і оновлюйте Nginx для підтримки продуктивності і безпеки.
Замініть example.com на ваше доменне ім’я і налаштуйте кореневий каталог відповідно до того, де будуть розташовані файли вашого сайту.
Крок 2: Створіть корінь документа
Далі створіть кореневий каталог документів для вашого веб-сайту:
sudo mkdir -p /var/www/example.com/html
Ви також можете створити приклад файлу index.html для тестування:
echo "
Ласкаво просимо на Example.com!
” | sudo tee /var/www/example.com/html/index.html
7. Тестування конфігурації Nginx
Перед застосуванням змін перевірте конфігурацію Nginx на наявність синтаксичних помилок:
sudo nginx -t
Якщо результат покаже, що конфігурація виконана успішно, перезапустіть Nginx, щоб застосувати зміни:
sudo systemctl restart nginx
8. Налаштування HTTPS за допомогою Let’s Encrypt (необов’язково)
Щоб захистити свій сайт за допомогою SSL, ви можете використовувати Let’s Encrypt для отримання безкоштовного SSL-сертифіката. Спочатку встановіть Certbot:
sudo yum install certbot python2-certbot-nginx
Потім запустіть Certbot, щоб отримати і встановити SSL-сертифікат:
sudo certbot --nginx -d example.com -d www.example.com
Дотримуйтесь підказок, щоб завершити встановлення. Certbot автоматично налаштує Nginx на використання SSL.
9. Автоматичне поновлення сертифіката
Сертифікати Let’s Encrypt дійсні протягом 90 днів. Щоб налаштувати автоматичне оновлення, додайте завдання cron:
sudo crontab -e
Додайте наступний рядок, щоб перевіряти і оновлювати сертифікати щодня:
0 0 * * * * /usr/bin/certbot renew --quiet
10. Висновок
Ви успішно встановили і налаштували Nginx на CentOS 7. Тепер Nginx готовий до роботи з вашим сайтом, і у вас є можливість захистити його за допомогою SSL за допомогою Let’s Encrypt. Регулярно контролюйте свій сервер і оновлюйте Nginx для підтримки продуктивності і безпеки.