Nginx - записна книжка сисадміна

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

В даному випадку можна збільшити таймаут, додавши пару рядків: