Що значить 502 bad gateway nginx
Початківці веб-майстри і системні адміністратори часом стикаються з помилкою 502 bad gateway nginx. Nginx - це не просто один з кращих веб-серверів, в той же час, він проектувався як відмінний проксі. Логічно можна припустити, що ця помилка виникає, коли щось не так зі шлюзом.
І необов`язково щоб ви використовували Nginx в якості проксі для доступу до мережі. Ні, для роботи більшості сайтів потрібно генерація динамічного контенту, наприклад, на php. Тому Nginx часто виступає в проксі для Apache або php-fpm. У цій статті ми розглянемо що означає 502 bad gateway Nginx, як виправити її.
Що означає 502 bad gateway Nginx
Як і випливає з назви, ця помилка означає, що Nginx спробував зв`язатися зі шлюзом і у нього нічого не вийшло. Наприклад, запити від користувачів приймає Nginx, оскільки він працює швидко і споживає мало ресурсів, а за генерацію контенту відповідає php-fpm. Якщо сервіс php-fpm під час обробки запиту отримав якусь помилку і не повернув результату, або ж він взагалі відключений і Nginx не може отримати до нього доступ ми отримаємо таку помилку.
Ось основні причини:
- Nginx використовується в якості проксі для Apache або php-fpm, але ці сервіси не запущені;
- Nginx використовується як проксі для php-fpm, але параметри доступу до сокету невірно налаштовані;
- Невірно налаштовані значення розміру буфера і таймаута для php-fpm в nginx.conf;
- Помилки в конфігурації Nginx.
Як виправити помилку 502 bad gateway Nginx
1. Аналіз логів і перезапуск
Щоб виправити помилку потрібно з`ясувати що сталося зі шлюзом. Кращий спосіб зробити це - подивитися логи Nginx, там обов`язково має бути щось написано і набагато докладніше, ніж у висновку браузера:
$ Nginx -tПрипустимо, у нас в якості шлюзу для генерації динамічного вмісту використовується php-fpm. Тоді потрібно перевірити чи запущений взагалі цей сервіс:
$ Sudo systemctl restart php-fpmЯкщо процес зупинений, то його потрібно запустити:
$ Sudo tail -f /var/log/php7.0-fpm.logАле якщо такий рецепт не допоміг, і помилка 502 bad gateway nginx потрібно йти далі. Уважно переглянете лог, можливо, там вже є відповідь.
2. Доступність php-fpm і власник
Також ця помилка може виникати при проблемах доступу до файлу сокета php-fpm, наприклад, коли цей файл називається по іншому або для нього виставлені невірні права. Спочатку переконайтеся, що в файлі конфігурації /etc/nginx/nginx.conf вказано правильну адресу файлу сокета php-fpm:
fastcgi_pass unix: /var/run/php7.0-fpm.sock;
include fastcgi_params;
}
Файл /var/run/php7.0-fpm.sock повинен дійсно існувати в файлової системі. Далі потрібно переконатися, що у сокета правильний власник, це повинен бути той же користувач, від імені якого запускається Nginx, група теж повинна відповідати. Відкрийте файл /etc/php7.0/fpm/pool.d/conf і знайдіть рядки user і group. Вони повинні мати таке ж значення, як рядок user в конфіги nginx.conf:
listen.owner = www-data
listen.group = www-data
Після того як виставите правильні параметри, запустіть сервіси:
$ Sudo service nginx restart
3. Час відгуку і розмір буфера
Можливо, розмір буфера і час очікування відповіді від fastcgi налаштовані невірно і програма просто не встигає обробити великий запит. Спробуйте збільшити такі параметри в /etc/nginx/nginx.conf. Якщо таких рядків не існує, додайте їх в блок http, як тут:
...
fastcgi_buffers 8 16k;
fastcgi_buffer_size 32k;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
...
}
висновки
У цій статті ми розглянули 502 bad gateway nginx що це означає і як виправити цю помилку. Як бачите, може бути досить багато причин її виникнення, але вирішити всі досить просто якщо уважно подивитися логи і зрозуміти в чому там дійсно проблема. Сподіваюся, інформація була корисною для вас.
>
- Безкоштовний vpn-проксі
- Безпека php на сервері
- Дебютували бюджетні моделі сенсорних ноутбуків від gateway
- Системи моніторингу сервера linux
- Кращі проксі сервери linux
- Як налаштувати проксі в ubuntu з терміналу
- Що краще nginx або apache 2016
- Як задати ip адреса в linux
- Як зробити красиві сторінки помилок.
- Як прискорити відкриття веб-сторінок в microsoft edge за допомогою tcp fast open?
- Як дізнатися реальний ip-адреса відвідувача
- Репозиторії ubuntu 16.04
- Установка php 7 в linux
- Збір інформації про систему ubuntu
- Адміністрування linux
- Помилка відмовлено в доступі linux
- Помилка apt-get command not found
- Установка ispmanager 5 на ubuntu server
- Установка nginx ubuntu 16.04
- Установка squid в ubuntu 16.04
- Function fetch_assoc () on a non-object