Nginx відомий своєю високою продуктивністю, стабільністю, багатим набором функцій, простою конфігурацією, і низьким споживанням ресурсів. На відміну від традиційних серверів, Nginx не залежить від потоків для обробки запитів. Замість цього він використовує набагато більш масштабовану керовану подіями (асинхронну) архітектуру. Ця архітектура використовує невеликі, але що більш важливо, передбачувані обсяги пам'яті під навантаженням.
установка Nginx
Для деяких версій Linux додайте одне зі сховищ з цієї сторінки nginx.org/en/download.html відповідно до вашої ОС. Цей крок дозволить вам встановлювати більш нові версії Nginx, ніж в офіційних сховищах.
Установка Nginx в CentOS
З-під привілейованих користувача вам потрібно віддати сл. команду:
yum install nginx
Після установки вам потрібно його запустити
service nginx start
Так само рекомендується включити цей сервіс в автозавантаження
chkconfig nginx on
Установка Nginx в Ubuntu
Від привілейованих пользователяч вам потрібно віддати сл. команду:
apt-get install nginx
Як тільки сервіс буде встановлено в вашу систему, його можна включити
Установка Nginx в FreeBSD
Необхідно завантажити zip-архів. Він доступний на цій сторінці. Далі в командному рядку потрібно перейти в місце його збереження, наприклад, в корінь диска C:
Розархівувати отриманий файл
Йти всередину каталогу
Якщо nginx не запуститься, потрібно дивитися причини в error_log. Якщо ж error_log не створює, то про це повідомляється в Event Log. В даний час це програмне забезпечення працює в Windows як сервіс.
Налаштування Nginx
Налаштування Nginx для роботи з Apache
Для того, щоб Nginx міг працювати з іншими веб-сервісами, досить прописати один рядок в конфігурацію.
proxy_pass IP сервера: PORT
Наприклад, у нас є сайт wikiadmin.net, на ньому apache. віддає контент на порт 8080. Треба, щоб nginx віддавав контент wikiadmin.net на 80 порту:
У apache можна відключити keep alive, так як nginx з ним спілкується через http / 1.0 і keepalive не підтримується. При відключенні може сильно зменшитися кількість процесів і знизитися навантаження на сервер.
Віддаємо статику без участі Apache
Навіщо просити Apache віддавати статику, якщо Nginx з цим впорається швидше? Додаємо в конфіг, наприклад, це:
Після рядка root у нас сказано, щоб браузери кеш інформацію і в наступний раз брали з локального кеша, не просячи їх у сервера знову.
Помилка 504 і лайка про timeout
В даному випадку можна збільшити таймаут, додавши пару рядків: