502 bad gateway apache
Почему на веб-серверах возникает ошибка 502 bad gateway и как ее исправить?
Форумы Google пестрят жалобами пользователей на серверную ошибку 502 в Google приложениях. Несмотря на случайный фактор своего появления, эта ошибка может изрядно снизить посещаемость сайта.
502 bad gateway - что это за ошибка? Ошибка 502 Bad Gateway может проявляться по-разному. К примеру, 502 – Service Temporarily Overloaded или HTTP Error 502 Bad Gateway.
Ошибка 502 bad gateway - что это значит?
Ошибка 502 bad gateway говорит о том, что обратный прокси-сервер (допустим, Apache) для сервера источника (например, nginx) получает некорректный ответ от исходного веб-сервера.
Посмотрев внимательнее, мы обнаружили, что Apache работает в нем как прокси nginx. Веб-сервер перезагружал http-сервис почти каждый час. Наш опыт в устранении подобных ошибок показывает, что ошибка 502 Bad Gateway появляется по одной из следующих причин:
- Перегруженность сервера. Веб-сервер может падать из-за нехватки ресурсов (например, оперативной памяти), вызываемой избытком выполняемых процессов или агрессивными действиями пользователей;
- Частая перезагрузка веб-сервера. Такое случается при ошибках конфигурации, сбоях в модулях, любых атаках, избытке выполняемых процессов и приложений. В результате пользователь видит временную 502 ошибку;
- Плохой код сайта. Сайты с устаревшими приложениями или корявым кодом влияют на правильное функционирование сервера и ведут к периодическому возникновению 502 ошибки;
- Ошибки сети. Прочие ошибки конфигурации сети (проблемы с DNS, маршрутизация, блокировка файерволом, используемым на сервере, проблемы у провайдера) также становятся причиной появления 502 ошибки сервера;
- Время ожидания серверного программного обеспечения. 502 ошибка неизбежна при снижении скорости выполнения запросов в nginx, когда средство кэширования (например, Varnish Cache) уходит в таймаут. Сюда же относятся и медленные запросы.
Как исправить ошибку 502 bad gateway на веб-сервере nginx
Сначала необходимо определить первопричину возникновения данной ошибки. Мы изучили серверные логи во время перезагрузок, и нашли там ошибки seg fault.
Затем мы покопались в конфигурации сервера, и увидели, что там отсутствовал модуль mod_rpaf. Именно это и вызывало падение сервера:
root@server [~]# ls -l /usr/local/apache/modules/mod_rpaf-2.0.so /bin/ls: cannot access /usr/local/apache/modules/mod_rpaf-2.0.so: No such file or directory
Rpaf – это модуль Reverse proxy add forward, разработанный для серверов Apache. Он нужен в том случае, если вы задаете Nginx фронденд-сервером и хотите получить реальный IP серверных запросов.
Данный модуль не работал под Apache-2.4, поэтому мы немного его подправили. После перекомпиляции и перезагрузки Apache ошибки сегментации прекратились.
Мы последили за сервером еще пару часов и убедились в том, что перезагрузки прекратились, а серверные ошибки исчезли.
Вот несколько советов, как исправить ошибку 502 bad gateway:
- Следите за тем, чтобы файлы сайта (плагины и темы) своевременно обновлялись и не устаревали;
- Оптимизируйте и исправляйте медленные MySQL-запросы;
- Проводите аудит серверного программного обеспечения и вовремя обновляйте модули;
- Избегайте проблем с маршрутизацией и отслеживайте любые перегрузки/атаки на сервер.
Пожалуйста, оставляйте ваши комментарии по текущей теме материала. За комментарии, отклики, дизлайки, лайки, подписки огромное вам спасибо!
Дайте знать, что вы думаете по этой теме материала в комментариях. За комментарии, дизлайки, отклики, лайки, подписки огромное вам спасибо!
ОСОльга Сайфудиноваавтор статьи «HOW TO FIX «502 SERVER ERROR – BAD GATEWAY» IN WEB SERVERS»
ОШИБКА 502 "BAD GATEWAY" КАК ЕЕ ИСПРАВИТЬ? - База знаний
Ошибка 502 на виртуальном хостинге "Bad Gateway"
Ошибка 502 возникает когда Apache работает в связке с Nginx. Запрос от пользователя прошел через NGINX к Apache но тот в свою очередь вернул нулевой результат прокси-серверу NGINX.
Причины возникновения и способы устранения ошибки 502:
- Дочерний процесс Apache не смог обработать поступивший к нему запрос и завершился досрочно. Зачастую это связано с ошибкой в скрипте сайта или нехваткой памяти для выполнения процесса. Начните свой поиск error 502, в таком случае с логов ошибок сайта. Вполне возможно там будет информация, которая привела к возникновению этой ошибки. Но зачастую лог не содержит ничего полезного по этой проблеме, поскольку процесс Apache завершился досрочно. Если это так, разбейте свой скрипт на участки, и выполняйте их поочередно. Это должно помочь найти 502 error. В другом случае, вы можете самостоятельно завершить работу зависших обработчиков и перезапустить их, подробнее см. Завершение работы процессов.
- Процесс Apache завершился по таймауту и не вернул в поток вывода никаких данных. Обычно это связано с длительным выполнением скрипта, либо зацикливанием в нем. Чтоб не получать 502 bad gateway, когда скрипт выполняется длительное время, лучше его запускать из консоли, а в случае если скрипт запускается регулярно, поставить его на CRON.
- Скрипты сайта превышают ограничения, накладываемые на них условиями нашего хостинга, и автоматически завершаются. Для устранения ошибки достаточно провести оптимизацию ваших скриптов.
- При использовании CMS Bitrix ошибка может возникать из-за некорректного названия директории для хранения кэшированных файлов. Проблема решается переименованием данной директории.
- Ошибка при включенном APC (Alternative PHP Cache). Проблема решается отключением APC при помощи добавления в файл .htaccess вашего сайта следующей строки: php_flag apc.cache_by_default Off
- Технический сбой на сервере. Проблема максимально быстро диагностируется нашими специалистами и оперативно устраняется.
Если вы столкнулись с единичными случаями возникновения 502 ошибки, можете проигнорировать их.
Если 502 ошибка возникает регулярно, напишите заявку в службу поддержки. В заявке укажите:
- Точное московское время наблюдения проблемы.
- Название сайта, на котором была замечена проблема.
- Если ошибка отображается не сразу, а после определённых действий (добавление изображения, отправка формы с сайта, импорт файлов), подробно опишите порядок действий, по которому мы сможем воспроизвести проблему.
- Если для воспроизведения проблемы необходимо авторизоваться в административной части сайта, предоставьте логин и пароль для доступа.
Ошибка 502 на VPS
Чаще всего на VPS используется связка: Nginx + бэкенд-сервер (Apache, PHP-FPM, Gunicorn, NodeJS). Ошибка 502 возникает в случае, если Nginx не может получить ответ от этих сервисов.
Наиболее частые причины возникновения 502 ошибки:
- Какой-то из сервисов выключен. Необходимо перезапустить веб-сервер Apache, PHP-FPM либо другой сервис, с которым работает Nginx.
- Между Nginx и бэкенд-сервером некорректно настроена связь. Например, Nginx производит обращение к порту 8080, а веб-сервер Apache «слушает» на 8081. В этом случае необходимо скорректировать настройки веб-сервера.
Если вам не удалось самостоятельно устранить ошибку 502, обратитесь в техподдержку.
Справочный центр | Как исправить ошибку «502 Bad Gateway»
Ошибка 502 возникает, когда запросы от посетителей до сайта идут не напрямую на Apache-сервер, а через дополнительный шлюз nginx. Apache получает запрос, но не смог его обработать и передал сообщение об ошибке.
Рассмотрим подробнее причины появления ошибки 502:
- Снижение скорости выполнения запросов в nginx.
- Перегруженность сервера из-за нехватки ресурсов — оперативной памяти, места на диске.
- Использование устаревших CMS и плагинов.
- Плохой код сайта.
- Ошибки конфигурации сети — проблемы с DNS, маршрутизация, блокировка файрволом, используемым на сервере, проблемы у провайдера.
Для избежания возникновения ошибки:
- Оптимизируйте и исправляйте медленные MySQL-запросы;
- Обновляйте CMS и плагины.
- Избегайте проблем с маршрутизацией и отслеживайте перезагрузки и атаки на сервер.
- Отключите скрипты мониторинга и отслеживания посетителей на сайте, потому что каждое действие посетителей выполняет запрос к базе данных.
Проверьте, в каких таблицах находится больше всего записей. Для этого перейдите в панель управления вашей услуги.
Откройте панель управления вашей услугой:В меню слева разверните блок Инструменты (1) и выберите phpMyAdmin (2).
Авторизуйтесь на платформе.
Перейдите в просмотр таблиц и проверьте, какие из них содержат большое количество записей. Для этого выберите пользователя (1), отфильтруйте показ файлов по размеру файлов (2) и перейдите в просмотр структуры наибольших файлов (3).
Изучите столбец EVENT_NAME. Если какая-то из таблиц не содержит ценной информации, а только логи, статистику или кэш, то очистите или удалите её.
Ошибка HTTP 502 Bad Gateway
Эта ошибка имеет гораздо более простые причины, чем http 504. Она так же встречается в системах, где nginx играет роль proxy-сервера (не важно, fastcgi или http backend используется).
Nginx возвращает статус ответа HTTP-протокола 502 ровно в одном случае - он не смог достучатся до backend-сервера.
Первое, что нужно сделать - это проверить, работает ли наш backend-сервер (apache, php-fpm, unicorn, nodejs). Вот пример для php-fpm под управлением debian 8:
root@host# /etc/init.d/php5-fpm status ● php5-fpm.service - The PHP FastCGI Process Manager Loaded: loaded (/lib/systemd/system/php5-fpm.service; enabled; vendor preset: enabled) Active: inactive (dead) since Mon 2017-01-23 10:20:12 UTC; 41ms ago Process: 8011 ExecStart=/usr/sbin/php5-fpm --nodaemonize --fpm-config /etc/php5/fpm/php-fpm.conf (code=exited, status=0/SUCCESS) Process: 8005 ExecStartPre=/usr/lib/php5/php5-fpm-checkconf (code=exited, status=0/SUCCESS) Main PID: 8011 (code=exited, status=0/SUCCESS) Status: "Ready to handle connections"
Мы видим, что FPM упал и его нужно поднять:
root@host# /etc/init.d/php5-fpm start
Причины падения могут быть разные, обычно это закончившаяся память. Увидеть это можно в выводе dmesg:
root@host# dmesg ... [2358564.917301] Out of memory: Kill process 13462 (php5-fpm) score 22 or sacrifice child [2358564.917307] Killed process 13462 (php5-fpm) total-vm:2654948kB, anon-rss:92448kB, file-rss:19408kB
Сразу хочу сказать, что в PHP часто утекает память и в настройках PHP-FPM обязательно нужно указывать max_requests
max_requests = 500
А что, если FPM не упал?
Да, такая ситуация тоже возможна. Обычно она случается, когда количество одновременных запросов превышает
pm.max_children или process.max. Узнать о наступлении такой ситуации можно из лога php-fpm, а исправить увеличением количества процессов (естественно, если ресурсов для этого достаточно).
Разовые 502
Иногда встречается "разовое" появление ошибок 502 при reload или restart php-fpm, apache, unicorn и других backend-серверов. Обычно это говорит о не совсем корректной схеме деплоя (выкладке нового кода). В таком случае нужно пересматривать именно её.
HTTP 502 и nodejs
Наиболее часто эта ошибка встречается при использовании websockets. Дело в том, что для их работы требуется специальная настройка nginx: http://nginx.org/ru/docs/http/websocket.html
Так же 502 появляется при падении nodejs и перезагрузке демона. Эту проблему можно решать с помощью работы не одного процесса nodejs, а, например, трех - это обеспечит и отказоустойчивость, и возможность поочередной перезагрузки при деплое.
В виду того, что очень часто javascript-код "течет" и забивает всю память, рекомендуется использовать
Restart=always
При настройке сервиса в systemd. К сожалению, проблемы утечек памяти лежат целиком на совести разработчиков, а также очень сложны сами по себе, поэтому перезапуск "упавших" процессов и резервирование становится нормой в мире nodejs.
HTTP 502 и unicorn
Долгий запуск демона unicorn приводит к нескольким минутам ожидания и получению ошибок 502 и 504. При деплое рекомендуется использовать не "жесткую перезагрузку" unicorn, а сигнал USR2 для подмены старых рабочих процессов новыми налету.
HTTP 502 и localhost
Бывает так, что бакенд слушает исключительно ipv4 адрес 127.0.0.1, а localhost ведет на ipv6 адрес, на котором ничего нет. В таком случае рекомендуется жестко прописывать адреса - либо 127.0.0.1 для ipv4, либо соответствующий адрес для ipv6.
Итог
502-ой статус ответа говорит об однозначной невозможности открыть соединение к backend. Конечно, в сложных системах это может быть связанно с сетью, фаерволом и другими технологическими деталями конкретных систем.
Error: 504 Gateway Time-out (502 Bad Gateway)
2022-04-24
43814
68
2306
1 minutes.
This error means that the php script (nginx backend, apache) waited too long for a response from the web server and the script ended before the response was received.
Some scripts require an increase in waiting and execution time, this applies to the operation of the E-Trade Tunnel module, if a large amount of data is uploaded to the site.
Increasing nginx timeout while proxying
To change the timeout in the nginx config, you need to change the following parameters (it is better to insert them into the location context):
proxy_send_timeout 600; # время ожидания при передаче запроса proxy_read_timeout 600; # время ожидания при чтении ответа proxy_connect_timeout 600; send_timeout 600;
The number 600 means that nginx will wait 10 minutes.
The time is specified in seconds, the default is 60, i. e. 1 minute.
But you need to be prepared that not every hoster will go for it, because. increase in limits = increase in resource consumption.
Increasing php-fpm timeout
To solve the problem in the case of php-fpm, you need to add two lines to the fastgci configuration block: fastcgi_send_timeout 300; fastcgi_read_timeout 300;
Increasing Apache Timeout
To change the Apache timeout in the httpd. conf config file, you need to change the following parameters:
# Timeout: The number of seconds before receives and sends time out. Timeout 1200
Program for online store
Ошибка прокси-сервера Apache HTTP 502 Ошибка прокси
Я только что развернул сайт в ближайшее время, и вдруг я получаю сообщение об ошибке
Http 502 Proxy Error
The proxy server received an invalid response from an upstream server.
The proxy server could not handle the request GET /.
Reason: Error reading from remote server
Я давно этого не видел, так что все вышло просто отлично! Через некоторое время сайт снова открылся ...
посмотрелapache access_log. Узнать
.....Get / HTTP/1.0....
Это версия, которую посетили до ie5.5. Поэтому я снова пришел на Taiwanie5.5 (это очень трудно исправить, в этом году гаджетов стало меньше !!!) Я посетил его и сделал ошибку. Все еще есть ошибки доступа на других машинах. После некоторого обновления снова!
Google взглянул на эту проблему и обнаружил, что это mod_proxy, а затем взглянул на его документацию.
http://httpd.apache .org/docs/2.3/mod/mod_proxy.html
нашел этот отрывок
For circumstances where mod_proxy is sending requests to an origin server that doesn't properly implement keepalives or HTTP/1.1, there are two environment variables that can force the request to use HTTP/1.0 with no keepalive. These are set via the SetEnv directive.
These are the force- proxy -request-1.0 and proxy -nokeepalive notes.
Переведено немного об этом (не мой перевод)
Когда mod_proxy отправляет запрос исходному серверу, который не реализует постоянное соединение (KeepAlive) или HTTP / 1.1 правильно, вы можете отправить два запроса HTTP / 1.0 без постоянного соединения (KeepAlive), установив две переменные среды. Эти две переменные устанавливаются инструкцией SetEnv.
Вот сила proxy -request-1.0 и proxy -nokeepalive пример:
<Location /buggyappserver/> ProxyPass http://buggyappserver:7001/foo/ SetEnv force-proxy-request-1.0 1 SetEnv proxy-nokeepalive 1 </Location>
Наконец, я добавил две вышеупомянутые строки в VirtualHost в моем httpd.conf
<VirtualHost *:80> JkMount /hr/servlet/* worker1 JkMount /hr/*.jsp worker1 JkMount /hr/*.do worker1 ServerAdmin [email protected] ServerName www.iteye.com ServerAlias www.iteye.com.cn RewriteEngine On RewriteRule ^/$ /hr/ [R,P] SetEnv force-proxy-request-1.0.1 SetEnv proxy-nokeepalive 1 </VirtualHost>
перезапуститьapache , посетите O с ie5.5
Ошибка 502 bad gateway в Nginx
Ошибка 502 Bad Gateway означает, что Nginx не может получить ответ от какого-то сервиса. Gateway означает, что ошибка произошла не внутри самого сервера, а где-то на уровне связи между ним и другой программой.
Помогаем
Что это значит?
Часто Nginx работает в паре с каким-либо другим приложением:
- В паре с Apache и используется, как прокси сервер.
- Вместе с PHP-FPM для обработки PHP запросов.
- Вместе с другим сервисом (например, Varnish либо Memcache).
Причины ошибки Nginx 502
Наиболее частые причины возникновения ошибки bad gateway:
- Какой-то из сервисов просто выключен. Необходимо перезапустить Apache, PHP-FPM либо другой сервис, с которым работает Nginx.
- Какой-то из сервисов недоступен по сети. Если Nginx находится на одном сервере, а PHP-FPM или Apache на другом, то ошибка 502 может возникнуть, если между серверами нет связи. Сделайте ping и убедитесь, что проблемы нет.
PHP-FPM
Для PHP-FPM также ошибка 502 Bad Gateway может возникнуть в случае, если используется сокет и к нему нет доступа:
[crit] 2963#0: *138 connect() to unix:/tmp/php5-fpm.sock failed (13: Permission denied) while connecting to upstream
В этом случае, убедитесь, что php-fpm сокет создается с нужными правами. В файле настроек fpm (/etc/php-fpm.d/www.conf):
listen = /tmp/php5-fpm.sock listen.owner = www-data listen.group = www-data
Этот текст был написан несколько лет назад. С тех пор упомянутые здесь инструменты и софт могли получить обновления. Пожалуйста, проверяйте их актуальность.
🥇 ▷ Как исправить ошибку 502 Bad Gateway в WordPress »✅
Любая ошибка, которая делает ваш сайт WordPress бесполезным, очень беспокоит, так как это означает потерю дохода для вас, плохой рейтинг SEO и много ненужного стресса. Одна из самых вопиющих ошибок, которые когда-либо были в Интернете, — это ошибка шлюза 502. Это неприятная и разочаровывающая проблема, поскольку она может возникнуть по ряду причин, которые затрудняют поиск и устранение неисправностей.
Не волнуйтесь, мы за вами. Если вы хотите исправить плохую ошибку шлюза 502 на своем сайте WordPress, захватите дух, поскольку мы предлагаем несколько лучших практик. К концу сегодняшнего поста вы должны раз и навсегда избавиться от ошибки неисправного шлюза 502.
.Если это похоже на сделку, от которой вы не мечтаете отказаться, возьмите чашку кофе и давайте уйдем.
Что такое ошибка 502 Bad Gateway?
Во-первых, от имени вопроса ошибка шлюза 502? Вот небольшой урок по размещению.Для размещения сайта WordPress обычно требуется несколько серверов.
Самая базовая конфигурация может состоять из четырех-пяти серверов (приблизительно), а именно:
Теперь, когда вы вводите URL своего веб-сайта в браузере и нажимаете ENTER, браузер отправляет некоторые HTTP-запросы обратному прокси-серверу.
Резервный прокси-сервер направляет запросы на соответствующие серверы. Например, запросы данных, хранящиеся в базе данных, направляются на сервер базы данных. Запросы статических файлов направляются на веб-сервер, а сервер приложений обрабатывает запросы, для которых требуется PHP.
Затем каждый сервер отправляет данные обратному прокси-серверу, который затем отправляет данные в браузер и загружает сайт. Так же просто, как A, B, C: не дайте себя одурачить такими сложными словами, как обратные прокси.
Если один из серверов отправляет недопустимый ответ обратному прокси, сайт не загружается в браузере должным образом. Вместо этого обратный прокси-сервер отображает неправильную ошибку шлюза 502.
.Животное во многих отношениях
Ошибка недействительного шлюза 502 может принимать разные формы, например:
Что вызывает ошибку недействительного шлюза 502?
Хотя ошибка шлюза 502 обычно возникает на стороне сервера, она также может возникать из-за проблемы на вашей стороне. Вот несколько причин, по которым вы сталкиваетесь с ошибкой неисправного шлюза 502 в любом порядке:
Как вы можете видеть из нашего краткого списка выше, ошибка неверного шлюза 502 может быть вызвана несколькими причинами.Это означает, что вам нужно попробовать разные решения, чтобы исправить ошибку.
Тем не менее, давайте исправим и исправим неисправную ошибку шлюза 502 на вашем сайте WordPress.
Как исправить ошибку 502 Bad Gateway в WordPress
Хотя обычному Джо эта ошибка может показаться неприятной, на самом деле ее очень легко исправить. Вам просто нужно терпение, чтобы попробовать следующие решения.
1. Обновите/перезагрузите свой сайт
Как мы уже упоминали, большую часть времени сервер сталкивается с печально известной ошибкой 502 Несоответствующий шлюз, особенно если он находится на виртуальном хостинге.Резкое увеличение трафика может истощить ресурсы вашего сервера, оставив вас в рабстве этой неприятной ошибки. В других случаях ваши серверы могут работать или отключаться по ряду причин.
Поставщики услуг хостинга обычно устраняют проблему немедленно, потому что страстные владельцы веб-сайтов ненавидят простои. Кроме того, они теряют доход, когда веб-сайты недоступны.
Поэтому, прежде чем рвать на себе волосы и страдать от панических атак, попробуйте несколько раз обновить свой сайт WordPress, чтобы посмотреть, исчезнет ли ошибка сама по себе.Кроме того, попробуйте другой браузер или устройство, чтобы увидеть, устранена ли ошибка сама собой. Тем не менее, чтобы убедиться, что проблема не на стороне сервера, проверьте свой сайт с помощью такого инструмента, как isup.me.
Однако, если ошибка не устранена после применения вышеуказанных решений, перейдите к следующему решению в этом сообщении.
2. Очистить кеш браузера
Не удалось исправить ошибку сбоя шлюза 502 даже после обновления браузера? Если да, выполните полное обновление в браузере ( CTRL + F5 в Windows и CMD + CTRL + R в OS X).Решит ли полное обновление проблему с ошибкой шлюза 502? Нет?
Вы можете попробовать очистить кеш браузера напрямую, следуя советам, которые мы опишем, как очистить кеш WordPress. Ушла ли неприятная ошибка после очистки кеша? Если это так, прекратите читать и танцуйте счастливо. Даже поворот назад. Без шуток.
Если ошибка сохраняется, вам может помочь следующее решение.
3.Временно отключить CDN
Вы находитесь в сети доставки контента, такой как CloudFlare, KeyCDN или другой CDN для WordPress? CDN обычно направляют трафик с вашего веб-сайта на свои серверы, чтобы обеспечить лучшую производительность и безопасность сайта.
Проблема на ваших серверах может быть причиной проблемы со шлюзом 502. Кроме того, ошибка 502 Invalid Gateway может возникнуть, если вы неправильно настроите CDN.
Чтобы узнать, не вызывает ли ваш CDN проблемы 502, приостановите работу CDN и обновите свой сайт.Это заставляет сайт загружаться непосредственно с серверов хоста.
Ошибка исчезла после приостановки CDN? Если это так, приостановите работу службы и обратитесь в службу поддержки. Обычно их быстро исправляют, а это означает, что вам придется на короткое время обойтись без CDN.
Каждая CDN имеет свой интерфейс, а это означает, что вы должны проверить CDN, чтобы узнать, как остановить службу. Однако, по моему опыту, приостановить CDN проще простого, поэтому я не ожидаю, что у вас возникнут какие-либо проблемы.
4. Проблемы с DNS
DNS (сокращение от доменного имени системы) — это то, как доменные имена (например, wpexplorer.com) соответствуют их соответствующим IP-адресам. Если что-то пойдет не так с вашими настройками DNS, среди других проблем вы можете ожидать ошибку шлюза 502.
Вы недавно переехали на новый хост? Миграция заключается в перенастройке DNS-серверов. Распространение DNS требует времени, иногда до 48 часов и более.
Если вы столкнулись с ошибкой шлюза 502 после миграции, дождитесь распространения изменений DNS или, при необходимости, обратитесь к хосту за советом и помощью.
И поскольку мы говорим о DNS, вы также можете попробовать сбросить локальный кеш DNS. Для пользователей Windows Откройте вашу систему (cmd.exe) и выполните следующую команду: ipconfig / flushdns . Как пользователь Mac OS X, запустите dscacheutil -flushcache в командном терминале.
5. Проверьте свою тему и плагины
Не удалось исправить ошибку? Возможно проблема в аксессуарах или теме. Ваша тема или один из ее плагинов могут активировать скрипт, который не работает с вашим сервером.
В результате сервер убивает скрипт, вызывая ошибку шлюза 502. Что делать? Начнем с аксессуаров.
6. Устранение неполадок плагинов
Вероятно, вы не сможете войти в панель администратора WordPress из-за любезности. Как вы исправляете плагины, не имея доступа к администратору WordPress?
Ну, это просто. Войдите в свой корень WordPress (обычно public_html , но это может быть что-то другое в зависимости от того, где вы установили свой сайт) с помощью FTP-приложения, такого как Filezilla или Файловый менеджер в cPanel.
Затем перейдите к wp-content и найдите папку Аксессуары . Переименуйте папку, например, plugins.old , чтобы отключить все плагины сразу. Не волнуйтесь, вы не потеряете данные.
Обновите страницу, чтобы увидеть, исчезла ли ошибка. Если вместо ошибки вы видите сайт, проблема в одном из плагинов.
Переименуйте plugins.old обратно Аксессуары и войдите в панель администрирования WordPress.Время найти проблемную вилку.
Активируйте плагины по одному, перезагружая сайт после каждой активации. Повторяйте этот шаг, пока не определите подключаемый модуль, вызывающий проблемы. Проблемный плагин, очевидно, воспроизведет ошибку bad gate 502 во время активации, которая может заблокировать его из области администрирования.
Полностью отключите или удалите плагин через FTP или Файловый менеджер Получите альтернативу или обратитесь к разработчику за дополнительной помощью.
7. Устранение неполадок активной темы
Если проблемы начались после обновления вашего сайта, т. е. тем, плагинов и WordPress, и деактивация плагина ничего не решает, вам необходимо восстановить тему WordPress.
Проверка того, связана ли ваша проблема, немного отличается от подключаемых модулей устранения неполадок. Давай покончим с этим.
Войдите в корневой каталог WordPress через FTP или файловый менеджер. Затем перейдите в content-wp > themes и найдите свою активную тему.
Переименуйте горячую папку темы, например, total.old. Это отключит активную тему и активирует тему WordPress по умолчанию.
Перезагрузите сайт, чтобы проверить, исчезла ли ошибка. Ошибка все еще возникает? Это означает, что с вашей темой все в порядке, и в этом случае вам нужно переименовать папку темы в исходное имя.
Если ошибка исчезнет, обратитесь к создателю темы за дополнительной помощью или инвестируйте в профессионально созданную тему, такую как наша Total.
8. Если проблема не устранена, свяжитесь с хостом
.Все еще не можете исправить ошибку шлюза 502 на своем сайте WordPress даже после того, как испробовали все вышеперечисленные решения?
Возможно, проблема с сервером, поэтому просто свяжитесь с хостом и получите профессиональную помощь. При этом рассмотрите возможность инвестирования в хост более высокого уровня, чтобы избежать этой ошибки из-за меньших ресурсов сервера, доступных в планах общего хостинга.
приложение
Хотя это немного сбивает с толку и разочаровывает, исправить ошибку 502 неисправного шлюза легко с помощью решений, которые мы описываем в этом посте. Мы надеемся, что наш пост направит вас в правильном направлении.
У вас есть дополнительные идеи, вопросы или решения? Пожалуйста, помогите нам разработать этот пост, поделившись своими советами, вопросами и идеями в разделе комментариев ниже.
.Ошибка 502 Bad Gateway — что это? Причины и решения 9000 1
Каждый пользователь Интернета видел в своем браузере сообщение «502: Bad Gateway», что означает появление ошибки веб-сервера при обработке запроса. Чаще всего причины сбоя кроются в неправильной настройке сервера или оборудования хостинговой компании. Стандартная проблема — некорректная обработка DNS или прокси.
Что означает "502: Bad Gateway"
Ошибка означает, что запрос к веб-серверу со страницы Браузера был введен, но обработан некорректно или удален из общей очереди.Если сервер находится за интернет-шлюзом, проблема либо в шлюзе, либо в работе самого веб-сервера, который сообщает об ошибке шлюзу и затем отображается в браузере пользователя.
Причины ошибки 502. Недостаточно ресурсов сервера
Основная проблема с этой ошибкой не хватает ресурсов сервера для обработки входящих запросов, и сервер начинает генерировать ошибку 502. Нехватка ресурсов может быть аппаратной (недостаточно оперативной памяти, недостаточно скорость процессора) или диска) или программное обеспечение, связанное с неправильной конфигурацией сервера или программного обеспечения безопасности.
Однако существует ситуация, когда при наличии достаточных ресурсов сервер продолжает периодически генерировать ошибку 502: Bad Gateway. Что это может быть, если не аппаратные сбои?
Вы можете автоматически применять ограничение ресурсов при выходе выделенного VPS сервера или виртуального хостинга из тарифного плана. В результате сервер может не справиться с текущей нагрузкой.
Веб-серверы, такие как Apache, имеют строго определенное количество обработчиков запросов, которые указываются при выполнении конфигурации.Если все они заняты одновременно, входящий запрос ставится в очередь до минуты для каждого из них. Если время истекло, запрос будет отменен, а пользователь получит ошибку 502. Кроме того, у обработчика может просто не хватить свободных ресурсов для нормальной обработки очереди.
Если вы используете PHP + FastCGI на своем сервере, с неоптимизированным количеством процессов php-cgi, вы почти всегда испытываете перегрузку и нехватку ресурсов.
Распространенные причины нехватки ресурсов для обработки запросов
- Сервер не справляется с текущим количеством одновременных посетителей сайта. Также значительное количество ресурсов могут потреблять различные поисковые роботы и недействительные программные скрипты.
- Перегрузка сервера при DDoS-атаках хакеров, когда сервер перегружен множеством одновременных запросов обработки.
- При использовании услуги Виртуальный хостинг неожиданно получает ошибку 502: Bad Gateway.Что это означает? Это может указывать на проблему с хостингом, известную как перепродажа, когда хост размещается на одном сервере с несколькими учетными записями клиентов, потому что у них заканчиваются аппаратные ресурсы в часы пик.
- Неверная конфигурация сервера или несовместимость программного или аппаратного обеспечения.
- Использовать внешние подключаемые ресурсы сайта, такие как счетчики посещений, различная информация, сценарии. В случае проблем с такими внешними источниками может возникнуть ошибка.
- Загрузка больших файлов на сервер при плохом качестве интернет-соединения.
Ошибки сценария PHP
Ошибка 502 может возникать из-за того, что сценарии PHP, подключаемые модули или расширения не передают соответствующий код на сервер после завершения. Например, генерировать ошибку 502: Bad Gateway nginx как один из вариантов прокси-сервера может быть из-за неправильного определения статуса скрипта и восприятия отключения от служб веб-сервера как сбоя системы.
Итак, вся статическая информация (картинки, страницы сайта, файлы robots) загружается нормально и без ошибок. Что в данном случае означает «502: Bad Gate»? Такой сбой возникает при загрузке программных скриптов, плагинов и расширений.
Корректирующее действие 502
В первую очередь следует проанализировать текущую нагрузку на сервер, особенно при возникновении ошибки. Особое внимание следует уделить загрузке оперативной памяти и, при необходимости, увеличению ее размера для облегчения обработки запросов.
Проверить ограничения на количество процессов php-cgi, обрабатываемых одновременно. Неправильная их настройка приводит к быстрой перегрузке сервиса и постоянному появлению сообщения «502: Bad Gateway». Что это такое и как правильно установить ограничения процесса, узнайте в службе поддержки вашего хостинг-провайдера.
Максимально ограничьте запросы к внешней сети ресурсов и установите максимальное время их получения и ответа. Это позволит вам проверить, для чего нужны ресурсы сервера и поможет избавиться от внешнего «пробуксовывания» сайта.
В случае подозрения на перепродажу или неправильную настройку сервера обратитесь в службу поддержки клиентов. Если нет ответа и проблема не решена, смените хостинг-провайдера. Недоступность сервера может привести к потерям из-за простой ошибки 502: Bad Gateway. Что это значит для бизнеса, объяснять не стоит.
р >> .Обзор и устранение ошибок HDInsight webHCat — Azure
- Статья
- Время считывания: 3 мин
- Соавторы: 9
Была ли эта страница полезной?
Да Нет
Хотите что-нибудь добавить к этому мнению?
Отзыв будет отправлен в Microsoft: когда вы нажмете «Отправить», отзыв будет использован для улучшения продуктов и услуг Microsoft.Политика конфиденциальности.
Представлять на рассмотрение
Спасибо.
В этой статье
Узнайте больше об ошибках, полученных при использовании WebHCat в HDInsight, и о том, как их устранить. WebHCat используется внутри клиентскими инструментами, такими как Azure PowerShell и Data Lake Tools для Visual Studio.
Что такое webHCat
WebHCat — это REST API для службы HCatalog, таблицы и уровня управления хранилищем для Apache Hadoop. WebHCat включен по умолчанию в кластерах HDInsight и используется различными инструментами для отправки задания, получения статуса задания и т. д. без входа в кластер.
Изменение конфигурации
Некоторые ошибки, перечисленные в этом документе, происходят из-за превышения настроенного максимального значения.Если на шаге решения указано, что значение можно изменить, используйте Apache Ambari (интернет или REST API) для изменения значения. Дополнительные сведения см. в разделе Управление HDInsight с помощью Apache Ambari.
Конфигурация по умолчанию
Если превышены следующие значения по умолчанию, это может снизить производительность сервера WebHCat или вызвать ошибки:
Слишком много запросов
Код состояния HTTP : 429
Причина | Решение для |
---|---|
Превышено максимальное количество одновременных запросов, обрабатываемых службой WebHCat в минуту (по умолчанию 20) | Уменьшите нагрузку, чтобы количество одновременных запросов не превышало максимально допустимое, или увеличьте предел одновременных запросов, изменив значение Templeton .exec.max-прокс . Дополнительные сведения см. в разделе Изменение конфигурации | .
Сервер недоступен
Код состояния HTTP : 503
Причина | Решение для |
---|---|
Этот код состояния обычно возникает при сбое между первичным и вторичным главными узлами кластера | Подождите две минуты и повторите операцию |
Недопустимое содержимое запроса: задача
не найденаКод состояния HTTP : 400
Причина | Решение для |
---|---|
Детали работы удалены уборщиком | История работы Срок хранения истории заданий по умолчанию составляет 7 дней.Срок хранения по умолчанию можно изменить, изменив mapreduce.jobhistory.max-age-ms . Дополнительные сведения см. в разделе Изменение конфигурации | .
Задание было прекращено из-за отработки отказа | Повторить отправку задания на срок до двух минут |
Недопустимый идентификатор задания | используетсяПроверьте правильность идентификатора задания |
Плохие ворота
Код состояния HTTP : 502
Причина | Решение для |
---|---|
Внутренняя сборка мусора происходит в процессе WebHCat | Дождитесь завершения сборки мусора или перезапуска службы WebHCat |
Время ожидания ответа от службы ResourceManager истекло.Эта ошибка может возникнуть, когда количество активных приложений превышает настроенное максимальное значение (по умолчанию 10 000) | Дождитесь завершения текущих заданий или увеличьте лимит одновременных заданий, изменив yarn.scheduler.capacity.maximum-applications . Дополнительные сведения см. в разделе «Изменение конфигурации». |
Попытка получить все задания с помощью вызова GET/jobs, когда Поля установлены на * | Не загружать все детали задачи .Вместо этого используйте команду jobid , чтобы получить сведения о заданиях, размер которых превышает указанный идентификатор задания. Или не используйте поля |
Служба WebHCat не работает, а головной узел | выходит из строяПодождите две минуты и повторите операцию |
Через WebHCat | отправлено более 500 ожидающих заданий.Дождитесь завершения ожидающих выполнения задач | , прежде чем отправлять новые задачи
Следующие шаги
Если вы не видите проблему или не можете решить ее, посетите один из следующих каналов для получения дополнительной поддержки:
-
Получите ответы от экспертов Azure через службу поддержки сообщества Azure.
-
Подключено к @AzureSupport — официальной учетной записи Microsoft Azure для повышения качества обслуживания клиентов. Предоставьте сообществу Azure нужные ресурсы: ответы, поддержку и экспертов.
-
Если вам нужна дополнительная помощь, вы можете отправить запрос в службу поддержки на портале Azure. Выберите Support в строке меню или откройте Center Help and Support . Дополнительные сведения см. в разделе Как создать запрос в службу поддержки Azure.Управление подпиской и доступ к выставлению счетов включены в вашу подписку Microsoft Azure, а поддержка предоставляется в рамках одного из планов поддержки Azure.
500 Объяснение внутренней ошибки сервера YouTube 2022
Крупнейший в мире онлайн-сайт для обмена видео, YouTube редко упоминается во всем мире. В таких ситуациях обычные пользователи YouTube жалуются на постоянную ошибку 500 внутреннего сервера .
Часто пользователи YouTube сталкиваются с проблемой 500 внутренних ошибок сервера в течение часа или двух, что не позволяет им получить доступ к своим любимым видео.На самом деле, пользователи настолько раздражены этой ошибкой, что начали твитить об этом со скоростью два твита в минуту, все спрашивая об этой внутренней внутренней ошибке сервера, ничего больше.
YouTube может время от времени сталкиваться с проблемами… в наши дни основной из них — пиратство. Некоторые эксперты говорят, что эта ошибка произошла только потому, что YouTube пытался внедрить новые функции безопасности, чтобы остановить пиратство и другие угрозы на сайте.Эти изменения могут помешать пользователям загружать видеофайлы, удалить авторские права и т. д. Это может привести к простою сервера, что приведет к внутренней ошибке сервера 500.
Внутренняя ошибка сервера YouTube 500
500 Внутренняя ошибка сервера, которая раздражает пользователей YouTube, — это общая ошибка ответа, которая появляется только в том случае, если какой-либо запрос, отклоненный сервером, не может найти правильный путь или не может быть выполнен, конкретная задача или основная причина проблемы не может быть идентифицировано.
Дополнительная информация о внутренней ошибке сервера 500:
Веб-сервер (запуск веб-сайта) столкнулся с непредвиденной ситуацией, из-за которой он не смог выполнить запрос клиента (например, веб-браузера) для доступа к запрошенному URL-адресу.
Это общая ошибка, генерируемая веб-сервером. По сути, что-то пошло не так, но сервер не мог более точно указать состояние ошибки в ответе клиента. В дополнение к ошибке 500, сообщаемой клиенту, веб-сервер должен создать внутренний журнал ошибок, содержащий дополнительную информацию о том, что пошло не так.Операторы веб-сайтов должны найти и проанализировать эти журналы.
500 ошибок за цикл
Каждый клиент (например, ваш интернет-браузер) проходит следующий цикл при общении с серверной сетью:
- Получите IP-адрес из IP-имени сайта (URL-адрес сайта без начального «//»). Этот поиск (преобразование IP-адреса в IP-адрес) обеспечивается серверами доменных имен (DNS).
- Откройте подключение к IP-сокету для этого IP-адреса.
- Записать поток данных HTTP через этот сокет.
- Получение потока данных HTTP, возвращаемого веб-сервером в ответ. Этот поток данных содержит коды состояния, значения которых определяются протоколом HTTP. Обработайте этот поток данных для получения кодов состояния и другой полезной информации.
Эта ошибка возникает на последнем шаге выше, когда клиент получает код состояния HTTP, который он распознает как «500».
Исправление 500 внутренних ошибок сервера: Эту ошибку можно устранить только с помощью исправлений программного обеспечения веб-сервера.Это не проблема на стороне клиента. Операторы веб-сайтов должны искать и анализировать журналы, которые должны предоставить дополнительную информацию об ошибке.
Дополнительная информация о 500 внутренних ошибках
Список ошибок сервера 5xx:
- 500 Внутренняя ошибка сервера: Общее сообщение об ошибке, выдаваемое, когда соответствующее сообщение не подходит.
- 501 Не реализовано: сервер не распознает метод запроса или не может удовлетворить запрос.
- 502 Неверный шлюз: сервер действовал как шлюз или прокси-сервер и получил недопустимый ответ от родительского сервера.
- 503 Служба недоступна: сервер в настоящее время недоступен (поскольку он перегружен или отключен из-за технического обслуживания). По сути это временное состояние.
- 504 Тайм-аут шлюза: сервер действовал как шлюз или прокси-сервер и не получил вовремя запрос от своего родительского сервера.
- 505 Версия HTTP не поддерживается: сервер не поддерживает версию HTTP, используемую в запросе.
- 506 Вариант также согласовывается (RFC 2295): согласование прозрачного содержимого для запроса приводит к циклическому отзыву
- 507 Недостаточно памяти (WebDAV) (RFC 4918)
- 509 Превышение пропускной способности (Apache bw/ограниченное расширение): этот код состояния, используемый многими серверами, не указан ни в одном документе RFC.
- 510 Недоступно (RFC 2774): для выполнения сервером этого требования требуются дальнейшие расширения этого запроса.
- 530 Отказано в доступе пользователя.
Этот пост об улучшении кэширования, производительности и скорости YouTube на ПК с Windows также может вас заинтересовать.
.Что это и как исправить?
Ошибки HTTPвыражаются в виде чисел. Вы, наверное, слышали или видели ошибку 404, но она не единственная в своей категории. Есть много других кодов ошибок, таких как 401 и 303, которые пользователи часто видят.
Чуть менее распространенной ошибкой является ошибка 502 Bad Gateway, с которой вы можете время от времени сталкиваться. Это ошибка HTTP, которая обычно исходит от сервера. Это означает, что когда вы пытались получить доступ к веб-сайту, он либо отправлял запрос на сервер, на котором размещен веб-сайт, и возвращал неверный ответ, либо сервер пытался связаться с другим сервером и снова получал от него неверный ответ.
Это основная причина ошибки 502, но могут быть и другие причины, по которым вы ее видите. Давайте углубимся и узнаем больше об ошибках 502 и о том, есть ли для них исправления.
Другие виды ошибок 502
Ошибка 502 Bad Gateway не является фактическим названием ошибки. На самом деле это просто ошибка 502. Текст, который сопровождает эту ошибку, варьируется от сайта к сайту. Многие сайты предоставляют свои собственные настраиваемые сообщения об ошибках HTTP, и это может быть сделано в случае ошибки 502.У некоторых есть творческие сообщения об ошибках, связанные с ошибкой 404 (страница не найдена).
Twitter показывает Fail Whale, когда обнаруживает ошибку 502. Github отображает сообщение об ошибке 404, вдохновленное «Звездными войнами».
Ошибка 502 может сопровождаться следующими различными сообщениями;
502 Плохой шлюз
502 Ошибка прокси
502 Ошибка сервера: сервер обнаружил временную ошибку и не смог выполнить запрос
502 Служба временно перегружена
502. Это ошибка
Плохой шлюз: прокси получил неверный ответ от родительского сервера
Ошибка 502
HTTP 502
Ошибка HTTP 502 — Неверный шлюз
Временная ошибка (502)
Все эти ошибки более или менее одинаковы и имеют схожие причины.
502 Причины ошибок bad gate
Вы можете увидеть ошибку 502 Bad Gateway по следующим причинам;
Сервер, на котором размещается сайт, недоступен или не может подключиться
Сервер испытывает большой трафик и не может отвечать на все запросы или подвергается DDOS-атаке
Серверу потребовалось слишком много времени, чтобы ответить на запрос браузера, и время запроса истекло.
Не удалось разрешить доменное имя, т. е. DNS-сервер не смог найти IP-адрес, связанный с введенным адресом.Это может быть проблема с используемой вами службой DNS.
Исправление ошибки плохого шлюза 502
Ошибка 502 Bad Gateway — это проблема на стороне сервера. Это означает, что на стороне конечного пользователя мало что можно сделать для решения проблемы. Если вы пытаетесь получить доступ к веб-сайту, который постоянно генерирует ошибку 502, попробуйте следующее:
Обновите его, нажав F5
Проверьте, проблема только у вас или у всех остальных, введя домен вниз для всех или только для меня
Проверьте страницу поддержки домена или их ленту в Твиттере, чтобы узнать, знают ли они о проблеме и признали ли это это проблема
Зайдите чуть позже.Сайт может быть недоступен из-за технического обслуживания, или плановое техническое обслуживание может занять больше времени или быть неработоспособным
Очистите кеш браузера и перезапустите браузер. Это вряд ли решит проблему, но попробовать стоит, так как в очень редких случаях проблема с файлами кеша может вызвать эту ошибку. Если вы уже проверили сайт Down для всех или только для меня, и он доступен сейчас, это может сработать. Или вы можете попробовать получить доступ к этому веб-сайту в другом браузере или на другом устройстве, например на телефоне.
Попробуйте использовать другую службу DNS, такую как Google DNS
Предполагая, что веб-сайт работает и ошибка только на вашей стороне, попробуйте перезагрузить компьютер и ограничить маршрутизатор Wi-Fi.
Проверьте, можете ли вы перезагрузить браузер. И в Chrome, и в Firefox есть встроенная опция, которая может сбросить их до состояния новой установки по умолчанию. Во-первых, убедитесь, что у вас есть резервная копия ваших закладок и паролей.
Если ваш сайт действительно не работает и вам необходимо срочно получить доступ к информации на вашем сайте, вы можете попробовать получить доступ к архиву через поиск Google или Wayback Machine.Предупреждаем, что информация может быть устаревшей.
.PLD дистрибутив Linux
Каждому пользователю Linux, работающему на своей машине, приходилось задумываться над философскими темами — кто это придумал? кто это сделал? и как он это сделал? Интересные вопросы - Представляя способ работы с PLD, мы можем частично понять механизмы создания таких проектов.
Нашим рабочим местом будет сама PLD, а дополнения я постараюсь описать ниже. На момент написания этой статьи это была версия 1.0 «Ра». Позже он уже есть в игре - устанавливаем несколько пакетов - сам процесс установки будет практически пропущен, т.к. пользователи уже должны знать, что такое полдек и как им пользоваться.
# об/мин -qa | grep об/мин об/мин-4.0.2-106 об/мин-инструменты сборки-4.0.2-106 об/мин-утилиты-4.0.2-106 об/мин-perlprov-4.0.2-106 об/мин-сборка-4.0.2-106 об/мин-разработка-4.0.2-106 об/мин-pythonprov-4.0.2-106 # об/мин -qa | grep cvs cvs-1.11.5-2 # об/мин -qa | grep mc мк-4.5.55-10
Я только обращу внимание на CVS. Он очень хорошо описывает способ установки среды. Baseciq - этот шаг следует выполнять с особой осторожностью
Другим важным пакетом является rpm плюс надстройки. Основная работа серийного разработчика — создание или изменение файлов.spec, которые являются основным фактором при создании пакетов RPM. Различные другие пакеты и исходники по-прежнему необходимы, но это зависит от того, что мы собираемся создавать.
Наибольшее количество знаний о RPM и сборке пакетов можно найти в публикации Максимальные обороты - описание на английском и перевода на наш язык я не знаю. К счастью, есть и другие источники, а также это описание — так что нам должно быть легче усваивать знания. особенно рекомендую сайт Гжегож Невенгловский (или местная копия), где много теории и практических советов могут прояснить для нас, что такое работа со «специалистами».
Он также доступен описание, созданное разработчиком PLD но из того, что я узнал, он уже немного стар и некоторые данные могут быть неточными.
После этой бомбы теории, которую нам, к сожалению, предстоит пройти, нам предстоит изучить еще один документ, последнюю версию которого мы можем скачать с CVS PLD. Это будет наше первое упражнение.
Запускаем терминал (будь то обычный или, например, по SSH) и выполняем шаги:
$ кд об/мин $ cvs получить PLD-doc / devel-hints-pl.текст U PLD-doc / devel-hints-pl.txt $
Как видите, мы выполняем шаги как обычный пользователь (не root) и будем последовательно придерживаться этого принципа.
Мы загрузили текстовый документ из репозитория PLD в директорию ~/rpm/PLD-doc/ devel-подсказки-pl.txt. Этот документ содержит рекомендации и указания, которым следует следовать при создании RPM-пакетов для PLD.
Теперь мы попробуем загрузить какой-нибудь .spec из CVS PLD и собрать пакет, т.е.tar (мы также могли видеть пример сборки «ekg» при установке CVS на веб-сайте Baseciq):
$ кд об/мин $ cvs получить SPECS/tar.spec U СПЕЦИФИКАЦИИ / tar.spec $ cd СПЕЦИФИКАЦИИ / $ rpmbuild -ba tar.spec ошибка: Файл /home/users/marekc/rpm/SOURCES/tar-1.13.25.tar.gz:\ Нет такого файла или каталога $ ./getsrc tar.spec Пытаюсь скачать исходники для tar-1.13.25-7 Ищем файл: tar-1.13.25.tar.gz Попытка CVS... OK Ищем файл: tar-non-english-man-pages.tar.bz2 Попытка CVS... OK Ищем файл: tar-man_from_debian_tar_1.13.25-2.патч Попытка CVS... OK Поиск файла: tar-info.patch Попытка CVS... OK Ищем файл: tar-pipe.patch Попытка CVS... OK Поиск файла: tar-namecache.patch Попытка CVS... OK Поиск файла: tar-error.patch Попытка CVS... OK Ищем файл: tar-sock.patch Попытка CVS... OK Ищем файл: tar-nolibrt.patch Попытка CVS... OK Ищем файл: tar-man.patch Попытка CVS... OK Ищем файл: tar-ac25x.patch Попытка CVS... OK Ищем файл: tar-dots.patch Пробуем CVS... ХОРОШО Ищем файл: tar-en.po-fix.patch Попытка CVS... OK Операция загрузки завершена: все файлы успешно получены
В примере мы хотели собрать пакет слишком быстро — сразу после загрузки ''tar.spec''.
Сам .spec без исходников, как винтовка без боеприпасов... Вы можете использовать скрипт 'builder' (и я рекомендую использовать его позже) в каталоге SPECS, который проанализирует ваши потребности и загрузит соответствующий .spec(из конечно, если он содержится в репозитории CVS), исходники и будут запускать пакеты rpm и srpms - но здесь мы не сильно облегчим нашу работу :-)
После загрузки файлов хорошо видеть данный файл.spec, чтобы увидеть, что еще нужно для сборки — вы можете сделать это с помощью обычного текстового редактора или выполнить:
$ cat tar.spec | grep BuildReq BuildRequires: автоконф BuildRequires: автоматизировать BuildRequires: бизон BuildRequires: gettext-devel
Мы уже знаем, что нам нужно — теперь проверим, есть ли у нас эти пакеты в нашем PLD:
$ об/мин -q автоконф автоконф-2.53a-1 $ об/мин -q автоматически автоматизация-1.6.3-1 $ об/мин -q бизон пакет bison не установлен $ об/мин -q gettext-devel пакет gettext-devel не установлен $
Таким образом, нет двух необходимых пакетов.Итак, «poldek» вступает в действие (здесь лучше использовать учетную запись «root» — если только у нас не настроен poldek для запуска «sudo»):
# польдек Загрузка ftp://ftp.pld-linux.org/dists/ [...] /RPMS/packages.dir.gz ... Загрузка ftp://ftp.pld-linux.org/dists/ra/ [...] /packages.dir.gz ... Загрузка ftp://ftp.pld-linux.org/dists/ra/ [...] /packages.dir.gz ... Загрузка ftp://ep09.kernel.pl/pub/People/ [...] /packages.dir.gz ... Загрузка ftp://ftp.pld-linux.org/dists/ [...] /packages.dir.gz ... Загрузка http://pld.mysza.eu.org/Ra/i686/packages.dir.gz ... 6814 пакетов были прочитаны 16 дубликатов пакетов удалены из списка доступных Загрузка /root/.poldek-cache/packages.dir.dbcache.var.lib.rpm.gz ... 559 пакетов были прочитаны Добро пожаловать в интерактивный режим Южной Америки. Введите «помощь», чтобы получить помощь. poldek> установить bison gettext-devel Обработка зависимостей... Для установки выбран 1 пакет: И зубр-1,35-5 Скачиваем ftp://ftp.pld-linux.org/dists/ [...] /bison-1.35-5.i686.rpm ... ................................................. 100,0% [196,5 К] Запуск rpm --upgrade -vh --root / --noorder ... Подготовка... ############################################[100% ] 1: бизон ############################################# [100% ] Установка комплекта №2 Обработка зависимостей... Для установки выбран 1 пакет: И gettext-devel-0.10.40-4 Скачать ftp: // [...] /gettext-devel-0.10.40-4.i686.rpm ... ................................................. 100,0% [295,6К] Запуск rpm --upgrade -vh --root / --noorder... Подготовка... ############################################[100% ] 1: gettext-devel ###########################################[100 %] польдек>
И как можно не любить Полдека? :-)
Теоретически у нас уже есть все для сборки tar-пакета. Итак, возвращаемся к нашему обычному аккаунту и:
$ rpmbuild -ba tar.spec Выполнение (% подготовки): /bin/sh -e /var/tmp/rpm-tmp.22007 Патч №0 (tar-man_from_debian_tar_1.13.25-2.patch): Патч №1 (tar-info.patch): Патч №2 (tar-pipe.пластырь): Патч №3 (tar-namecache.patch): Патч №4 (tar-error.patch): Патч №5 (tar-sock.patch): Патч №6 (tar-nolibrt.patch): Патч №7 (tar-man.patch): Патч №8 (tar-ac25x.patch): Патч №9 (tar-dots.patch): Патч №10 (tar-pl.po-fix.patch): Выполнение (% сборки): /bin/sh -e /var/tmp/rpm-tmp.97619 [...] Сохранено: /home/users/marekc/rpm/SRPMS/tar-1.13.25-7.src.rpm Сохранено: /home/users/marekc/rpm/RPMS/tar-1.13.25-7.i686.rpm Выполнение (% очистки): /bin/sh -e /var/tmp/rpm-tmp.54009 + умаск 022 +cd/home/users/marekc/rpm/СТРОЙКА + _autoreqprov = п + [п = у] + компакт-диск tar-1.13.25 + rm -rf /home/users/marekc/tmp/tar-1.13.25-root-marekc + выход 0 $
[...] означает, что мои вырезанные сообщения генерируются скомпилированным «tar».
Команда «rpmbuild -ba» говорит нам собрать полный пакет из спецификации — но мы уже знаем это из теоретического обучения ;-)
Все сообщения в случае какой-либо ошибки при сборке можно найти в файле: '/var/tmp/rpm-tmp.22007'
Мы видим, что у нас есть готовые пакеты в определенных каталогах и мы можем их смело устанавливать.И сообщение «выход 0» означает отсутствие ошибок сборки.
Наш первый пакет был собран.
Однако потребность все равно есть — мы все еще чувствуем, что пока что используем чужой труд, и, наконец, мы тоже хотим что-то сделать для потомков и хотим сами создать файл .spec.
Теперь мы начнем. Наша первая (точнее моя) спецификация будет Mantis или система контроля ошибок на основе веб-сайта (PHP) и базы данных SQL Mysql.
Здесь небольшое отступление — большинство пакетов создаются потому, что они нужны данному разработчику; это означает, что нет смысла писать в список рассылки с просьбой о конкретном пакете, потому что вы можете получить несколько неприятных комментариев (в лучшем случае).
Первый шаг — установить пакет из исходников. Затем мы записываем, что нужно сделать, чтобы данный пакет начал работать — все, чтобы предсказать, что данный .spec должен сделать, чтобы пакет работал как можно более плавно после установки RPM — вы можете записать это, например , на бумажке - а для чего нам компьютеры?
Мои записи выглядели так:
// БОГОМОЛ // Инициализация MySQL # компакт-диск /etc/rc.d/init.d # ./mysql инициализация # /usr/bin/mysqladmin -u пароль mysql 'пароль' // Создаем базу данных в mysql # mysqladmin -umysql -p создать багтрекер # cd/богомол/sql # mysql -umysql -p bugtrackerК каждой упаковке следует подходить индивидуально – поэтому несколько слов о самом богомоле. Система основана на готовых файлах, состоящих из веб-сайта, документации и файла, необходимого для создания соответствующей базы данных Mysql. Мы не будем делать никаких компиляций, так что это упростит нам процесс сборки и тестирования пакета.
Объединив информацию, содержащуюся в предоставленной документации, и собственные заметки, мы уже знаем, что основной задачей нашего RPM будет проектирование его таким образом, чтобы соответствующие файлы PHP были скопированы в нужное место, внесены необходимые исправления. в конфигурационных файлах или другие исправления, которые, на наш взгляд, могут облегчить работу будущих пользователей.Но помните, чтобы не переусердствовать.
К сожалению, все автоматизировать не получится - поэтому создадим два текстовых файла (в двух языковых версиях PL и EN) с кратким описанием того, что нужно сделать для работы системы.
Мне также кажется, что хорошей практикой является предусмотреть правильные зависимости после установки исходников, чтобы наш пакет без проблем работал на другом компьютере. Например, в инструкции по установке богомола в требованиях есть m.в Пакет PHP - В PLD, после установки только PHP, mantis будет отображать ошибки. Получается, что пакеты в PLD максимально "фрагментированы" и для работы необходим пакет 'php-pcre' - а для корректной связи PHP-страниц с базой данных 'mysql' нужно установить 'php-mysql' . Зависимостей может быть много, и, по моему скромному мнению, лучше, если мы поместим какой-нибудь избыточный пакет в зависимости, чем чтобы не было ни одного недостающего.
В нашем случае после установки и запуска пакета Mantis из исходников достаточно сделать, например.'rpm -qa | grep php' для выбора соответствующих файлов. Мы делаем то же самое с «mysql» и «apache».
Мы начинаем с создания файла (мы можем использовать команду «touch») или используем другой файл .spec, чтобы изменить его в соответствии с нашими потребностями (например, «cvs get SPECS / template.spec» загрузит скелет из CVS PLD). Открываем его в нашем любимом текстовом редакторе (vim, emacs, pico, mcedit и т.д.)
Резюме: средство отслеживания ошибок Mantis Резюме (ru): Mantis — система управления неисправностями Имя: богомол Версия: 0.18.0a4 # определить _alpha a4 Релиз: 1 Лицензия: GPL Группа: Разработка / Инструменты [...]Начинаем заполнять т.н. преамбула, то есть введение, в котором мы описываем наш пакет — думаю, объяснять вышесказанное не очень-то и нужно. Просто обращу внимание на строки "Версия" и "Выпуск" - согласно devel-hints-en.txt он должен выглядеть примерно так (поскольку эта версия богомола указана как альфа):
Версия: 0.18.0 % определить альфа a4 Выпуск: 0.% {_ Альфа}.1
но для меня это вызвало ошибку при сборке, потому что, как мы увидим позже, имя источника использует поле «Версия», и любые манипуляции с ним вызывают необходимость пересобрать .spec или переименовать архив, где находятся исходники (что это очень плохая привычка и позорная ошибка!). Так что в итоге оставил как есть и никто этого особо не заметил :-) (примечание автора: впрочем, дальнейшая практика покажет нам, что такие изменения, однако, хлеб насущный, так что не будем бояться их вносить)
[...] Source0: http://dl.sourceforge.net/mantisbt/%kietaname życia-%kietaversionarzenia.tar.gz # Источник0-md5: 4c730c1ecf7a2449ef915387d85c1952 Источник1:% {имя} -doc-PLD.tar.gz URL-адрес: http://mantisbt.sourceforge.net/ [...]Далее у нас идет описание исходника - в PLD оно обычно дается в виде ссылки плюс фраза %{имя}-%{версия}.tar.gz и по сути эта фраза самая важная для сборки пакета , потому что URL-адрес (в нашем случае http://dl.sourceforge.net/mantisbt/) игнорируется. Итак, из макросов %name и %version строится имя пакета, и это имя ищется в ~/rpm/SOURCES/
Источников программы может быть несколько.Он до сих пор с нами Source1 - это дополнительная документация, состоящая из двух текстовых файлов с дополнительными инструкциями по установке. Изначально я пытался сделать это с помощью механизма Patch и команды:
diff -urN исходный_каталог исправленный_каталог> powd-sources.patch
описано в devel-manual (глава 1.2.2), но этот механизм не позволяет создавать новые файлы, поэтому остается только выполнить дополнительные исходники.
Также помните, что ни в коем случае нельзя вручную изменять исходные коды программы. Действительный .spec должен использовать собственные источники, а все изменения вносятся через %build, %install или с помощью патчей.
Подпись md5 после # является результатом использования так называемого distfiles, и нам придется сделать это сейчас. Мы обсудим дистрибутивные файлы, когда будем сохранять в CVS PLD - не скоро ;-)
[...] Требуется: апач >= 1.3.27-4 Требуется: apache-mod_dir> = 1.3.27-4 Требуется: php> = 4.0.3 Требуется: php-mysql> = 4.0.3 Требуется: php-pcre> = 4.3.1-4 Требуется: php-common> = 4.3.1-4 Требуется: mysql> = 3.23.2 Требуется: mysql-клиент> = 3.23.56-1 Требуется: сед BuildArch: ноарх BuildRoot:%{tmpdir}/%{имя}-%{версия}-root-%(id -u -n) [...]В «Требуется» мы указываем зависимости, т. е. то, что должно быть установлено, чтобы пакет работал или чтобы команды, выполняемые .spec, выполнялись правильно (например, раздел %post)
В «BuildArch» архитектура, для которой предназначен RPM — в нашем случае это «noarch», т.е. без какой-либо конкретной архитектуры — по моим наблюдениям, разработчики PLD избегают этого поля — если только это не «noarch».
«BuildRoot» — очень важный тег — к счастью, он всегда появляется так же, как и мы, — и обозначает каталог, в котором rpm будет собирать пакет из раздела %install нашего .spec.
[...] % определить _mantisdir/home/services/httpd/mantis # определяем _mantisdir/home/httpd/html/mantis % описание Mantis — это веб-система отслеживания ошибок. % описание -l pl Mantis — это система проверки ошибок, основанная на \ WWW и MySQL. [...]В этой части мы используем полезную функцию RPMa, то есть определение констант.В нашем примере «_mantisdir» — это каталог, в который будут установлены файлы для веб-сервера. Вот небольшая заметка о комментарии «#» — когда мы определяем макрос, комментарий не работает, поэтому мы удалили «%» перед словом «определить» (мы также можем использовать фразу «%%»). так что если бы мы написали:
% определить _mantisdir/home/services/httpd/mantis
#% определить _mantisdir/home/httpd/html/mantis
Тогда константа '_mantisdir' имела бы значение /home/httpd/html/mantis, хотя это и не входит в наши намерения — мне не нужно объяснять, какие проблемы это может вызвать?
В «% description» мы кратко описываем характеристики пакета, а ниже мы видим, как это сделать для описания на польском языке — тогда RPM с использованием переменных локали отображает соответствующую языковую версию «description», если мы хотим, чтобы это было из RPM.
[...] % подготовка % настройка -q -a1 [...]С этого момента мы закончили заполнять детали преамбулы. Секция %prep может выполнить скрипт, необходимый перед установкой файлов. Нам не нужно ничего делать перед установкой, поэтому этот раздел пуст.
Далее следует «% setup -q -a1», то есть распаковка исходников в каталог, определенный ранее в «BuildRoot». Дополнительные параметры этого тега отключают сообщения при распаковке '-q', а параметр '-a1' указывает, какие исходники распаковывать.После «% setup» мы также можем использовать макрос «% patch» для исправления исходников. Это позволяет модифицировать исходники как угодно без необходимости менять сами исходники (о чем мы писали ранее).
[...] % установить rm -rf $ RPM_BUILD_ROOT установить -d $ RPM_BUILD_ROOT% {_ mantisdir} cp -af * .php admin core css графы изображения lang sql \ $ RPM_BUILD_ROOT% {_ mantisdir} sed -e 's/root/mysql/g' config_inc.php.sample> \ $ RPM_BUILD_ROOT% {_ mantisdir} /config_inc.php [...]На самом деле, большинство пакетов запускают макрос '% build' перед '% install' для компиляции наших исходников, и в простейшем виде это выглядит так:
% строить % настроить делать
Никаких компиляций нам делать не нужно, поэтому раздел '% install' выполняется сразу. В начале мы очищаем каталог, в который мы будем устанавливать нашу программу (то есть «фальшивый корень») — хотя он, вероятно, пуст — но лучше перестраховаться, чем потом сожалеть.Затем мы устанавливаем пакет, сообщая ему в параметре «-d», что в конечном итоге он должен быть установлен в «поддельный корень», но сами файлы появятся в нашем временном каталоге (TMPDIR), поэтому затем с помощью команды «cp» мы копируем необходимые файлы в фактический «фальшивый корень» — обратите внимание, что мы пропустили, например, каталог «doc».
Затем с помощью команды «SED» мы вносим небольшую поправку в файл конфигурации mantis — меняем пользователя MYSQL по умолчанию с «root» на «mysql».Такой патч мы могли бы сделать и раньше в разделе '%prep' и теге '%patch', но с такими маленькими патчами эффективнее сделать его здесь.
[...] % чистый rm -rf $ RPM_BUILD_ROOT [...]Тег '% clean' является обязательным в спецификациях, созданных для PLD, и указывает, что делать, когда весь пакет собран. Небольшое примечание — этот тег на данный момент не означает, что он выполняется в данный момент — если бы это было так, то последующий тег '% files' имел бы некоторые проблемы с файлами, которых больше не существует.Так после правильной сборки пакета макрос '%clean' выполняется, а в случае какой-либо ошибки - нет - т.е. остаются распакованные и установленные исходники. Это позволяет нам, например, диагностировать ошибки при сборке пакета.
[...] % сообщение если ["$ LANG" = "en_PL"]; потом #sed -e "s / = 'английский'; / = 'польский'; / g" \ % {_ mantisdir} /config_defaults_inc.php> \ #% {_ mantisdir} /config_defaults_inc_PLD.php #mv -f% {_ mantisdir} /config_defaults_inc_PLD.php \ %{_mantisdir}/config_defaults_inc.php эхо echo "Богомол спасен..." echo "Подробнее: /usr/share/doc/mantis-%arańversionarań/PLD_Install_PL.txt.gz" эхо еще эхо echo "Богомол загружен..." echo "Подробнее: /usr/share/doc/mantis-%kietaversionarań/PLD_Install_EN.txt.gz" эхо фи [...]Вот пример того, что мы можем сделать с файлами, которые будут установлены после сборки пакета. Макрос '%post' выполняется RPM во время установки пакета. Закомментированные команды позволяют изменить установленный файл config_defaults_inc.php 'в соответствии с содержимым переменной локали 'LANG'. Позже, в зависимости от этой переменной, выводится сообщение на PL или EN.
Вы спросите, почему некоторые из этих команд "выключены" - ну а потом, когда мы захотим сделать .spec доступным для уздечки, он будет проверен на "расовую чистоту" :-) - В данном случае получилось что такое изменение в файлах конфигурации может вызвать проблемы, например, при изменении пользователя Программы, использующие «локаль», должны соответствующим образом реагировать на изменения в «локали», например.после изменения LANG на 'EN_en' начать работать на английском - В нашем случае сайт PHP не начнет работать на английском языке, поэтому был добавлен вышеупомянутый комментарий, а в файле 'PLD_Install_PL.txt.gz', который дополнительная инструкция, что делать после установки пакета RPM, чтобы 'mantis' разговаривал с нами на польском языке при запуске.
[...] % файлов % обезжиривания (644, корень, корень, 755) % doc doc / * PLD_Install_PL.txt PLD_Install_EN.txt config_inc.php.sample % каталог% {_ mantisdir} % {_ mantisdir} /админ/ %{_mantisdir}/ядро/ %{_mantisdir}/css/ %{_mantisdir}/графики/ % {_ mantisdir} / изображения / % {_ mantisdir} /язык/ %{_mantisdir}/sql/ % {_ mantisdir} / аккаунт * % {_ mantisdir} / ошибка * %{_mantisdir}/ядро.* % {_ mantisdir} / csv * % {_ mantisdir} / документ * % {_ mantisdir} / файл * % {_ mantisdir} / история * % {_ mantisdir} / индекс * % {_ mantisdir} / прыжок * % {_ mantisdir} / журнал * % {_ mantisdir} / мА * % {_ mantisdir} / я * % {_ mantisdir} / новости * % {_ mantisdir} / печать * % {_ mantisdir} / проект * % {_ mantisdir} / набор * % {_ mantisdir} / сигнал * % {_ mantisdir} / сумма * % {_ mantisdir} / представление * % config (noreplace)% {_ mantisdir} /config_inc.php % config (noreplace)% {_ mantisdir} /config_defaults_inc.php % exclude% {_ mantisdir} /core/.cvsignore [...]Потихоньку приближаемся к финалу :-).В этом разделе мы определяем, что, где и как должно быть установлено пользователем, который устанавливает наш RPM. Тег %files очень важен, поскольку вызванные здесь ошибки могут помешать работе пакета для конечного пользователя. В «подтеге»:
% обезжиривания (644, корень, корень, 755)
мы определяем атрибуты по умолчанию для установленных файлов - мы, конечно, можем определить атрибуты для каждого файла отдельно.
Затем в:
% док док / * PLD_Install_PL.txt PLD_Install_EN.txt config_inc.php.sample
мы определяем наши файлы, которые будут включены в документацию. Таким образом, каталог 'doc/' из каталога 'TMPDIR' и файлы из 'SOURCE1' и 'config_inc.php.sample' будут упакованы и помещены в каталог документации по умолчанию при установке пакета RPM - в PLD это /usr /поделиться/doc/. ..
И, наконец, в:
% каталог% {_ mantisdir}
при установке RPM приказываем создать директорию в соответствии с константой '%{_mantisdir}' и копировать файлы ниже этого тега.Сначала я не перечислял все эти каталоги и файлы по отдельности, просто использовал фразу:
% {_ mantisdir}
Однако при такой конструкции и использовании макроса %config(noreplace) вы получите ошибку при сборке пакета:
[...] Ошибки сборки RPM: Файл указан дважды: /home/services/httpd/mantis/config_defaults_inc.php Файл указан дважды: /home/services/httpd/mantis/config_inc.phpИтак, два файла имели двойное значение - они оказались в списке для копирования и в качестве конфигурационных файлов.Поэтому, к сожалению, вам придется составить список файлов, как это сделали мы, за вычетом файлов, которые будут в макросе '%config'. Сам макрос % config позволяет особым образом обрабатывать файлы конфигурации при удалении RPM или его обновлении.
Последний макрос:
'% exclude% {_ mantisdir} /core/.cvsignore'
указывает, что файл должен быть исключен из пакета RPM - в данном случае это остаток от CVS mantisa.
И это конец нашей работы. После выполнения команды «rpmbuild -ba mantis.spec 'мы должны собрать пакеты rpm и srpm. Еще предстоит проверить, все ли файлы находятся там, где нам нужно, есть ли у них соответствующие разрешения и работает ли пакет должным образом. Возможных исправлений пока нет, и нам нужно пропустить нашу работу через набор адаптации 'adapter.awk'.
Скачиваем его с CVS:
$ cvs получить SPECS/adapter.awk U SPECS/адаптер.awk $затем измените имя файла .spec, добавив, например, org в конце, и выполните:
долларов./adapter.awk mantis.spec.org> mantis.spec $В результате этой операции мы получаем mantis.spec, адаптированный под требования PLD. Если вас интересуют изменения, приглашаю к изучению «новой» темы.
Теперь мы можем найти кого-нибудь, кто поместит наши .spec и исходный код в репозиторий CVS PLD. В нашем распоряжении есть список разработчиков: в письмо вкладываем вложение с нашим .spec (конечно, без исходников - или, если у нас есть свои исходники, выкладываем их на какой-нибудь сайт или другой ftp.и дайте ссылку - нативные исходники должны быть загружены из места, которое мы указали в нашей спецификации). Приложение должно быть текстовым.
Также можно попробовать найти жертву в IRC-группе #PLD, которая выложит нашу работу в репозиторий.
Также приятно видеть, как это делают другие, пока учатся делать .specw. В репозитории CVS действительно есть из чего выбрать. А мы, приобретя способность читать .spec-файлы, можем сосредоточиться только на том, чтобы правильно их записать.
В конце концов, мы получаем возможность подписаться на CVS, а затем читаем следующую часть руководства ``На земле CVS''
.Nginx выдает ошибку 502 Bad Gateway на порту 80
Я использую nginx и пытаюсь загрузить страницу через порт 80 (или корень) после попытки подключения в течение некоторого времени выдает ошибку 502 о плохом шлюзе.
Когда я ввожу:
netstat -ltnp | grep: 80
Я получаю результаты ниже.
Вот мой nginx.conf:
#пользователь nginx; # Количество рабочих процессов автоматически изменяется CustomBuild в соответствии с количеством ядер ЦП, если для него установлено значение «1». рабочие_процессы 4; pid/var/run/nginx.идентификатор; Журналы #error_log / error.log; журналы #error_log / уведомление об ошибке.log; Журналы #error_log / информация error.log; События { включить /etc/nginx/nginx-events.conf; } http { включить /etc/nginx/mime.types; # Для пользовательских конфигураций, не поддерживаемых DirectAdmin. Пусто по умолчанию. включить /etc/nginx/nginx-includes.conf; # Дополнительная конфигурация #include /etc/nginx/nginx-modsecurity-enable.conf; включить /etc/nginx/nginx-defaults.конф; включить /etc/nginx/nginx-gzip.conf; включить /etc/nginx/nginx-proxy.conf; включить /etc/nginx/directadmin-ips.conf; включить /etc/nginx/directadmin-settings.conf; включить /etc/nginx/nginx-vhosts.conf; включить /etc/nginx/directadmin-vhosts.conf; сервер { слушать 80; корень /var/www/html; индекс index.html index.htm index.php; } }
Примечание: любые порты кроме 80 работают нормально.Конечно 8080 и 8081 берутся, но кроме них все остальные порты (например 8000) работают нормально.
Что я уже пробовал: это решение и использование прокси.
Что может быть причиной этого?
Ответов:
0 за ответ № 1Итак, я начал комментировать все соединения и пришел к выводу, что строка ниже определяет другой порт 80 сервер:
включить /etc/nginx/directadmin-vhosts.конф;
Итак, я манипулировал этим файлом (
directadmin-vhosts.conf
) вместо того, чтобы определять свои серверы nginx.conf, и тогда все было в порядке.
Примечание: по какой-то причине эта команда не точно отображала весь извлеченный порт 80:
netstat -ltnp | группа: 80
Вместо этого я использовал приведенную ниже команду, а затем понял, что она находится в другом месте, что nginx также использует порт 80.
netstat -ltnp | грэп: *
Я думаю, что это ошибка нуба, но я надеюсь, что этот ответ поможет кому-то, кто борется с той же проблемой.
.