- Вступ Nginx є одним з найпопулярніших веб-серверів в світі, його використовують для хостингу найбільших...
- Крок 1: Установка веб-сервера Nginx
- Крок 2: Налаштування файрвола
- Крок 3: Перевірка роботи веб-сервера
- Крок 4: Управління процесом Nginx
- Крок 5: Важливі файли і директорії Nginx
- контент
Вступ
Nginx є одним з найпопулярніших веб-серверів в світі, його використовують для хостингу найбільших і навантажених сайтів в Інтернеті. Nginx в переважній більшості випадків менш вимогливий до ресурсів, ніж Apache; його можна використовувати як в якості веб-сервера, так і в якості зворотного проксі-сервера (reverse proxy).
У цій статті ми розглянемо процес установки Nginx на ваш сервер з Ubuntu 16.04.
перед установкою
Перед тим, як почати слідувати описаним в цій статті кроків, переконайтеся, що у вас є зазвичай не-рутовий (non-root) користувач з привілеями sudo. Дізнатися, як налаштувати такого користувача на вашому сервері, можна з статті про первинну налаштування сервера на Ubuntu 16.04 .
Після того, як ви створили такого користувача, зайдіть на сервер використовуючи його логін і пароль. Тепер ви готові слідувати інструкції, наведені в цій статті.
Крок 1: Установка веб-сервера Nginx
Nginx доступний в стандартних репозиторіях Ubuntu, тому його установка досить проста.
Оскільки ми збираємося використовувати apt в перший раз в ході цієї сесії, почнемо з поновлення локального списку пакетів. Далі встановимо сервер:
- sudo apt-get update
- sudo apt-get install nginx
В результаті виконання цих команд apt-get встановить Nginx і інші необхідні для його роботи пакети на ваш сервер.
Крок 2: Налаштування файрвола
Перед тим, як почати перевіряти роботу Nginx, нам необхідно налаштувати наш файрвол для дозволу доступу до сервісу. При установки Nginx реєструється в сервісі файрволу ufw. Тому настройка доступу здійснюється досить просто.
Для виведення налаштувань доступу для додатків, зареєстрованих в ufw, введемо команду:
В результаті виконання цієї команди буде виведений список профілів додатків:
висновок
Available applications: Nginx Full Nginx HTTP Nginx HTTPS OpenSSH
Як видно з цього висновку, для Nginx налаштоване три профілю:
- Nginx Full: цей профіль відкриває порти 80 (звичайний, не зашифрований веб-трафік) та 443 (трафік шифрується за допомогою TLS / SSL).
- Nginx HTTP: цей профіль відкриває тільки порт 80 (звичайний, не зашифрований веб-трафік).
- Nginx HTTPS: цей профіль відкриває тільки порт 443 (трафік шифрується за допомогою TLS / SSL).
Рекомендується налаштовувати ufw таким чином, щоб дозволяти тільки той трафік, який ви хочете дозволити в явному вигляді. Оскільки ми ще не налаштували SSL для нашого сервера, в цій статті ми дозволимо трафік тільки для порту 80.
Зробити це можна за допомогою такої команди:
- sudo ufw allow 'Nginx HTTP'
Ви можете перевірити зміни ввівши команду:
В результаті повинен відобразитися висновок такого вигляду:
висновок
Status: active To Action From - ------ ---- OpenSSH ALLOW Anywhere Nginx HTTP ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) Nginx HTTP (v6) ALLOW Anywhere (v6)
Крок 3: Перевірка роботи веб-сервера
Після завершення процесу установки Ubuntu 16.04 запустить Nginx автоматично. Таким чином веб-сервер уже повинен бути запущений.
Ми можемо переконатися в цьому виконавши наступну команду:
висновок
● nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2016-04-18 16:14:00 EDT; 4min 2s ago Main PID: 12857 (nginx) CGroup: /system.slice/nginx.service ├─12857 nginx: master process / usr / sbin / nginx -g daemon on; master_process on └─12858 nginx: worker process
Як видно з висновку вище, сервіс запущений і працює. Проте, переконаємося в його повній працездатності шляхом запиту веб-сторінки.
Для цього ми можемо перевірити, чи відображається веб-сторінка Nginx, доступна за замовчуванням при введенні доменного імені або IP адреси сервера.
Якщо у вас ще немає налаштованого доменного імені для вашого сервера, ви можете дізнатися, як налаштувати домен в Digital Ocean з цієї статті .
Якщо ви не хочете налаштовувати доменне ім'я для вашого сервера, ви можете використовувати публічний IP адреса вашого сервера. Якщо ви не знаєте публічного IP адреси сервера, ви можете знайти цей IP адреса наступною командою:
- ip addr show eth0 | grep inet | awk '{print $ 2; } '| sed 's /\/.*$//'
В результаті буде виведено кілька IP адрес. Спробуйте вставити кожен з них в браузер.
Іншим способом визначити свій IP адреса буде перевірка, як ваш сервер видно з Інтернету:
- sudo apt-get install curl
- curl -4 icanhazip.com
Наберіть отриманий IP адреса або доменне ім'я в вашому веб-браузері. Ви повинні побачити сторінку Nginx за замовчуванням.
http: // доменное_імя_ілі_IP_адрес
Якщо ви бачите подібну сторінку в своєму браузері, ви успішно встановили Nginx.
Крок 4: Управління процесом Nginx
Тепер, коли Nginx встановлений і ми переконалися в його працездатності, ознайомимося з деякими базовими командам для управління нашим веб-сервером.
Для зупинки веб-сервера використовуйте команду:
- sudo systemctl stop nginx
Для запуску зупиненого веб-сервера наберіть:
- sudo systemctl start nginx
Для перезапуску веб-сервера можна використовувати наступну команду:
- sudo systemctl restart nginx
Якщо ви вносите зміни в конфігурацію Nginx, часто можна перезапустити його без закриття з'єднань. Для цього можна використовувати наступну команду:
- sudo systemctl reload nginx
За замовчуванням Nginx налаштований на автоматичний запуск при запуску сервера. Якщо така поведінка веб-сервера вам не потрібно, ви можете відключити його за допомогою такої команди:
- sudo systemctl disable nginx
Для повторного включення запуску Nginx при старті сервера введіть:
- sudo systemctl enable nginx
Крок 5: Важливі файли і директорії Nginx
Тепер, коли ми знаємо основні команди для управління веб-сервером, ознайомимося з основними директоріями і файлами.
контент
- / Var / www / html: веб-контент, який за замовчуванням складається тільки з тестової сторінки Nginx, яку ми бачили раніше, знаходиться в директорії / var / www / html. Шлях до цієї директорії можна налаштувати в файлах конфігурації Nginx.
конфігурація сервера
- / Etc / nginx: директорія конфігурації Nginx. Всі файли конфігурації Nginx знаходяться в цій директорії.
- /etc/nginx/nginx.conf: основний файл конфігурації Nginx. Цей файл використовується для внесення змін в глобальну конфігурацію Nginx.
- / Etc / nginx / sites-available: директорія, в якій зберігаються "серверні блоки" для кожного сайту (серверні блоки є приблизним аналогом віртуальних хостів в Apache). Nginx не використовуватиме конфігураційні файли в цій директорії, якщо вони не мають відповідних посилань в директорії sites-enabled (див. Нижче). Зазвичай всі налаштування серверного блоку здійснюються в цій директорії, а потім сайт активується шляхом створення посилання в іншій теці.
- / Etc / nginx / sites-enabled /: в цій директорії зберігаються серверні блоки для активованих сайтів. Зазвичай це досягається шляхом створення посилань на конфігураційні профілі сайтів, розташовані в директорії sites-available.
- / Etc / nginx / snippets: в цій директорії зберігаються фрагменти конфігурації, які можна використовувати при конфігурації будь-яких сайтів. Фрагменти конфігурації, які потенційно можуть бути використані в декількох файлах конфігурації, є прекрасними кандидатами для створення цих фрагментів.
Список сервера
- /var/log/nginx/access.log: кожен запит до вашого веб-сервера записується в цей файл логу, якщо інше не задано настройками Nginx.
- /var/log/nginx/error.log: будь-які помилки Nginx будуть записуватися в цей файл.
висновок
Тепер, коли у вас є встановлений і налаштований веб-сервер, ви можете вибирати, який контент віддавати користувачам, і які інші технології ви можете використовувати на додаток до веб-сервера.
про використанні серверних блоків Nginx можна дізнатися докладніше в цій статті . Якщо у вас виникає потреба повний стек додатків, рекомендуємо ознайомитися зі статтею про налаштування стека LEMP на сервері з Ubuntu 16.04 .