Socket connect failed connection refused

Socket connect failed connection refused

До этого стоял php7.0, но такого рода проблема возникла после установки php7.3 и переустановки nginx.
netstat -nlp

systemctl status nginx.service

curl -v 127.0.0.1

Файл конфигурации /etc/nginx/sites-available/default:

Буду признателен за помощь)

  • Вопрос задан более года назад
  • 1601 просмотр

fastcgi_pass 127.0.0.1:9000;
fastcgi_pass unix:/run/php/php7.3-fpm.sock;

lucifer_jr, отлично.
в результирующем конфиге, который nginx собирает при запуске, у вас не объявлены директивы "server", поэтому nginx не обслуживает подключения.
ваш nginx пытается инклюдить дополнительные файлы конфигурации из /etc/nginx/conf.d/*.conf и /etc/nginx/sites-enabled/*. у вас там точно есть конфиги с "server"? или же они у вас только в /etc/nginx/sites-available?
перенесите конфиги в /etc/nginx/conf.d и сделайте systemctl nginx reload .
затем снова проверьте, слушает ли nginx 80 порт ( netstat -nlp ).

P. S.: что показывает ls -la /etc/nginx/conf.d и ls -la /etc/nginx/sites-enabled ?

lucifer_jr, с тем же, с которым он создан в /etc/nginx/sites-available. но лучше вообще сделайте:

это для всех конфигов из sites-available сделает симлинки в sites-enabled и перезапустит сервис nginx.

lucifer_jr, так блин вроде в любой мане пишут что надо символьные ссылки создавать для конфигов в site-enabled, чтоб они применились. ну е мае! так вот сразу и не догадаешься)

/etc/nginx/sites-available: директория, в которой хранятся "серверные блоки" для каждого сайта (серверные блоки являются приблизительным аналогом виртуальных хостов в Apache). Nginx не будет использовать конфигурационные файлы в этой директории, если они не имеют соответствующих ссылок в директории sites-enabled. Обычно все настройки серверного блока осуществляются в этой директории, а затем сайт активируется путём создания ссылки в другой директории.
/etc/nginx/sites-enabled/: в этой директории хранятся серверные блоки для активированных сайтов. Обычно это достигается путём создания ссылок на конфигурационные профили сайтов, расположенные в директории sites-available.

Читайте также:  Почему невозможно зайти в плей маркет

Если я не ошибаюсь то в секции

Нужно что-то одно указывать, или unix socket, или tcp socket
Тоесть вам скорее всего надо закомментировать строчку fastcgi_pass 127.0.0.1:9000;

I have a socket app written in c and I am executing on linux, but when I execute the server (./server), I get the following error:

connection failed, connection refused.

Here is the code:

1 Answer 1

A "connection refused" error means you are trying to connection to a server IP:port that is either:

not open for listening

has too many pending client connections in its backlog

blocked by a firewall/router/antivirus.

There is no way on the client side to differentiate which condition is causing the error. All it can do is try again later, and give up after awhile.

Since your client is trying to connection to 127.0.0.1 , the client and server MUST be run on the same machine. You will not be able to connect across machine boundaries, and that includes VM boundaries between host/client systems.

That being said, I see a number of mistakes in your code, but none that are causing the connection error.

socket() returns -1 on error, not 0.

you can’t set multiple socket options at a time with setsockopt() , you must set them individually with separate calls to setsockopt() .

you are filling serv_addr with ‘0’ characters instead of 0 bytes.

On both sides, you are not doing any error handling on send() . But more importantly, you are not including the message’s null terminator in the send, so the peer has no way of knowing when the end of the message is reached. TCP is a streaming transport, so you need to frame your messages in your data protocol. Send the message’s length before sending the message itself. Or send a unique terminator after the message. The peer can then read the length before reading the message, or read until the terminator is reached.

Читайте также:  Dos игры на андроид

Both send() and read() return how many bytes were actually sent/received, which can be (and frequently is) fewer bytes than requested. You need to call them in a loop to make sure that you send/receive everything you are expecting.

Also, read() does not return a null-terminated string, but your use of printf() expects one. Check valread for error, and only if read() was successful then pass valread to printf() as an input parameter so it knows how much data is actually in the buffer :

Ошибка Connection refused to MongoDB errno 111 может появится в разных ситуациях, у неё могут быть различные причины. Поэтому рассмотрим разные варианты решения.

1. Удаление файла mongod.lock

Одной из вероятных причин может быть файл mongod.lock, который по каким-то причинам не был удалён программой автоматически. Вы можете сделать это и перезапустить службу (перезапуск службы показан на примере для Debian и производных):

2. Настройка bind_ip = localhost в /etc/mongod.conf

При внешнем подключении нужно обязательно в файле /etc/mongod.conf изменить значение директивы bind_ip на

Можно просто закомментировать эту строку.

Даже при внутреннем подключении может провялятся ошибка Connection refused to MongoDB errno 111, то попробуйте заменить bind_ip = localhost на

3. Нет места для размещения базы данных

Эта же самая ошибка может происходить по весьма тривиальной причине – недостаточно место для размещения БД. Проверить количество свободного пространства на жёстком диске можно командой:

Решением в этом случае является увеличение свободного места или перенос базы данных в другое место, для этого в файле /etc/mongodb.conf замените значение директивы

4. Неверные права на директорию /var/lib/mongodb

В некоторых ситуациях, к примеру, при переносе файлов БД на другой сервер и размещении их в каталог /var/lib/mongodb под учётной записью суперпользователя, может получится так, что владельцем каталога /var/lib/mongodb (в котором хранятся базы данных) будет не mongod. Чтобы это исправить нужно выполнить команды вида:

Читайте также:  Как найти деда участника вов по фамилии

Если вы не меняли значение директории с БД по умолчанию, то команды будут такими:

5. Проблемы с SELinux

В этом случае вам должны помочь команды:

Возможно, здесь перечислены далеко не все причины ошибки «Connection refused to MongoDB errno 111», но, по крайней мере, рассмотрены самые частые с конкретными решениями.

Кстати, о том, как правильно делать резервные копии БД MongoDB можно почитать в официальной документации (на английском):

Ссылка на основную публикацию
Radius сервер для wifi
Посетителей: 12080 | Просмотров: 22734 (сегодня 1) Шрифт: В первой части мы узнали, зачем предприятием использовать Enterprise режим Wi-Fi Protected...
Max payne mobile не запускается
Макс Пейн снова в деле! Мобильный порт игры на ОС Андроид – то, чего так долго ждали ее преданные фанаты....
Max крутящий момент нм
Интересная познaвательная статья для любителей ездить на автомобилях с дизельным двигателем. Лошадиные силы решают всё – такой вывод можно сделать,...
Raid web console 2 установка
Intel has a linux compiled version for RedHat based systems in the download center, but it can be installed on...
Adblock detector