NGINX должен часто перезапускаться на Raspberry Pi

377
Akito

Я установил сервер Gitea на своем Raspberry Pi 3B, на котором установлена ​​последняя версия DietPi . Я установил nginx в качестве обратного прокси-сервера для веб-сайта Gitea, который я размещаю. Все работает отлично, за исключением нескольких часов (иногда чаще), веб-сайт не может быть достигнут. После перезапуска службы nginx все снова работает нормально. Поэтому сейчас мне приходится довольно часто перезапускать сервис. В качестве временного обходного пути я уже настраивал cronjob каждый час, чтобы перезапускать обратный прокси-сервер, но, видимо, даже этого недостаточно. error.logНе имеет никакого содержания. Как я могу определить и решить проблему?

Прокси снова вышел из строя, поэтому я проверил error.log, и он определенно пуст. Вывод для service nginx statusвыглядит следующим образом:

● nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled) Active: failed (Result: exit-code) since Fri 2018-11-09 08:05:09 CET; 17min ago Docs: man:nginx(8) Process: 14459 ExecStop=/sbin/start-stop-daemon --quiet --stop --retry QUIT/5 --pidfile /run/nginx.pid (code=exited, s Process: 6409 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Process: 19805 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=1/FAILURE) Main PID: 6411 (code=exited, status=0/SUCCESS) CPU: 121ms  Nov 09 08:05:01 hostname systemd[1]: Starting A high performance web server and a reverse proxy server... Nov 09 08:05:09 hostname nginx[19805]: nginx: [emerg] host not found in upstream "git.domain.tld" in /etc/nginx/sites-en Nov 09 08:05:09 hostname nginx[19805]: nginx: configuration file /etc/nginx/nginx.conf test failed Nov 09 08:05:09 hostname systemd[1]: nginx.service: Control process exited, code=exited status=1 Nov 09 08:05:09 hostname systemd[1]: Failed to start A high performance web server and a reverse proxy server. Nov 09 08:05:09 hostname systemd[1]: nginx.service: Unit entered failed state. Nov 09 08:05:09 hostname systemd[1]: nginx.service: Failed with result 'exit-code'. 
0
Возможно, не хватает памяти? Проверьте вашу конфигурацию, журнал ошибок не должен быть пустым. Gerard H. Pille 5 лет назад 0
Это происходит, даже если вы не обслуживаете какие-либо сайты (отключаете все сайты) и делаете nginx доступным только из локальной сети? Aulis Ronkainen 5 лет назад 0
@AulisRonkainen Я отредактировал свой вопрос. Akito 5 лет назад 0
Это (журнал состояния) говорит о том, что ваша конфигурация неверна. Вы можете проверить это, пожалуйста? Aulis Ronkainen 5 лет назад 0
Я предполагаю, что это не будет работать вообще, если это было неправильно. Пару часов назад я добавил `resolver` и использовал переменную вместо фактического адреса для` proxy_pass`, и пока он работает хорошо. Как только я буду уверен, что это сработало, я опубликую это как ответ. Akito 5 лет назад 0

1 ответ на вопрос

0
Akito

Поэтому я сосредоточился на ошибке nginx[19805]: nginx: [emerg] host not found in upstream и нашел рабочее решение, которое описано здесь .

Я отредактировал свой git.domain.tld.vhostфайл /etc/nginx/sites-availableтак, чтобы он выглядел так:

server { resolver 8.8.8.8; listen 80; server_name git.domain.tld;  location / { set $upstream "git.domain.tld:5016"; proxy_pass http://$upstream; } } 

Как вы видите здесь, я назначил домен, который перенаправляется, переменной. Я также установил resolverDNS-адрес, на котором находится домен. Теперь все работает как надо.

Похожие вопросы