LINUX.ORG.RU
ФорумAdmin

nginx не исполняет php скрипты, error: open() "..." failed

 


1

1

Ребятушки помогите с Nginx, он меня уже просто достал!)) Вроде и тыкал, старался осознано, но или опыта не хватает или незнаю руки кривые, но зараза не выходит заставить nginx исполнять php скрипты!

Читал логи и гугли, нашел причины, но они не решают проблему: 1) Что-то неверно указали, не в соотв. с путями вашего сервера - ../nginx/www or ../nginx/html/ - говорилось в изначальной инструкции - example.com, а нужно localhost (или 127.0.0.1), <a href="https://www.digitalocean.com/community/tutorials/how-to-install-linux-nginx-m... target=«_blank»>faq</a>

- memory, <a href="https://www.digitalocean.com/community/tutorials/how-to-install-linux-nginx-m... target=«_blank»>faq</a>

2) Нужно поиграть с настройками - fastcgi_pass, <a href="http://stackoverflow.com/a/21103489/2580376" target=«_blank»>faq</a> - mimetype, <a href="http://stackoverflow.com/a/21103444/2580376" target=«_blank»>faq</a>

- user group, <a href="http://stackoverflow.com/a/26319554/2580376" target=«_blank»>faq</a>

- посмотреть права, <a href="http://stackoverflow.com/a/23487409/2580376" target=«_blank»>faq</a>

- посмотреть учет файлов, <a href="http://serverfault.com/a/277569" target=«_blank»>faq</a>

2015/01/14 20:03:50 [error] 10601#0: *1 open() "/usr/share/nginx/html/50x.html" failed (2: No such file or directory), client: 127.0.0.1, server: 127.0.0.1, request: "GET /info.php HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock", host: "localhost"
2015/01/14 20:03:50 [crit] 10601#0: *1 connect() to unix:/var/run/php5-fpm.sock failed (2: No such file or directory) while connecting to upstream, client: 127.0.0.1, server: 127.0.0.1, request: "GET /info.php HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "localhost"
2015/01/14 20:03:50 [error] 10601#0: *1 open() "/usr/share/nginx/html/50x.html" failed (2: No such file or directory), client: 127.0.0.1, server: 127.0.0.1, request: "GET /info.php HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock", host: "localhost"
2015/01/14 20:03:53 [crit] 10601#0: *1 connect() to unix:/var/run/php5-fpm.sock failed (2: No such file or directory) while connecting to upstream, client: 127.0.0.1, server: 127.0.0.1, request: "GET /info.php HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "localhost"
2015/01/14 20:03:53 [error] 10601#0: *1 open() "/usr/share/nginx/html/50x.html" failed (2: No such file or directory), client: 127.0.0.1, server: 127.0.0.1, request: "GET /info.php HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock", host: "localhost"
2015/01/14 20:04:57 [crit] 10601#0: *1 connect() to unix:/var/run/php5-fpm.sock failed (2: No such file or directory) while connecting to upstream, client: 127.0.0.1, server: 127.0.0.1, request: "GET /info.php HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "localhost"
2015/01/14 20:04:57 [error] 10601#0: *1 open() "/usr/share/nginx/html/50x.html" failed (2: No such file or directory), client: 127.0.0.1, server: 127.0.0.1, request: "GET /info.php HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock", host: "localhost"

Что за копипаста? С другого форума что ли? Оформление ужасное, ПЗ тоже. Конфиги где? Если длинный, то лучше выложить куда-нибудь на paste.ubuntu.com.

Amet13 ★★★★★ ()

connect() to unix:/var/run/php5-fpm.sock (2: No such file or directory)

А он есть?

USF ()

1. Ты php5-fpm запустил вообще? Файл /var/run/php5-fpm.sock существует?

2. С /usr/share/nginx/html/50x.html ты точно накосячил в конфиге nginx.

d2 ()
Последнее исправление: d2 (всего исправлений: 1)

Тебе же на русском пишут:

unix:/var/run/php5-fpm.sock failed (2: No such file or directory)

Проверь конфиг fpm, и запущен ли он

invokercd ★★★★ ()

в настройках php-fpm сокет указал? сменил папку на /var/lib или вообще /srv/php-fpm.socket
Жалко, что нельзя задать сокет без файла - просто пусть программы друг с другом общаются

ubuntuawp ★★ ()
Ответ на: комментарий от ubuntuawp

Unix-cокет это не файл (не regular file), unix-cокет это unix-cокет, именованный канал общения между программами.
Нафига вообще перемещать сокет? Что-бы побольше бардака создать?

MrClon ★★★★★ ()

Nginx не исполняет php скрипты потому-что nginx не умеет исполнять php скрипты, потому-что nginx не должен исполнять php скрипты.
Nginx это фронтэнд, его дело отдавать статику и перенаправлять забросы на бэкэнд (генерирующий динамические страницы). В случае с php в качестве бэкэнда обычно используется apache или php-fpm (fastcgi сервер для php). И вот уже бэкэнд выполняет php скрипты. Судя по всему в данном случае nginx пытается использовать в качестве бэкэнда php-fpm. Но либо php-fpm не запущен, либо запущен но ожидает подключения где-то не там где к нему пытается подключиться nginx.

Для начала покажи выхлоп команды ps ax | grep php
И содержимое конфигов php-fpm, для debian/ubuntu это директория /etc/php5/fpm/, в основном интересен файл /etc/php5/fpm/pool.d/www.conf и другие файлы в той-же директории.

MrClon ★★★★★ ()
Ответ на: комментарий от MrClon

он отображается в файловой системе
жалко нельзя создать сокет «в воздухе» - чтобы небыло никакого файла
например, указываешь программе socket = MYSOCKETNAME, и в другой программе тоже - socker = MYSOCKETNAME, и они общаются друг с другом
Например - php-fpm и httpd, php-fpm говорит ядру - создай мне сокет, ядро создает сокет 123, и lighttpd говорит ядру - я хочу подключится к сокету 123
кароче что-то типа cat|less в sh - пайп, только между двумя программами
Таким образом, можно даже шифровать канал общения программ и многое полезное
Я не знаю, умеет ли такое Linux, BSD-системы, и вообще различные операционные системы, но было бы не плохо

ubuntuawp ★★ ()
Ответ на: комментарий от ubuntuawp

А потом нужно прукрутить что-то для контроля доступа к соекту, подружить эту систему с другими ядерными системами контроля доступа (все эти SElinux, apparmor, grsec…). Написать утилиты для отладки (список зарегистрированных сокетов, запись, чтение, создание, удаление, опять-таки утилиты для управления доступом). И конечно-же решать ещё кучу проблем которые я не увидел за 40 секунд размышления на эту тему.
За-то мы получим… получим что? Новую подсистему которая делает то-же самое что и старая подсистема и отличается от старой подсистемы только тем что она непохожа на другие подсистемы? Но зачем? KISS! Keep it simple, stupid!

Возможно эта идея кажется очень удачной, сразу после того как она пришла в голову (вообще у идей есть такой свойство, они кажутся очень удачными тем кто их придумал). Ведь сокет это не файл, так зачем ему выглядеть как файлу? За тем-же зачем, например, жёстким дискам выглядеть как файлам. За тем что это довольно-таки удобный стандартный интерфейс. За тем что в *nix принято использовать файловую систему для всего для чего её получается использовать. Потому-что это удобно, чертовски удобно.

MrClon ★★★★★ ()
Ответ на: комментарий от MrClon

Подскажите плиз. Не принимает письма. при отправлении письма с Roundcube или другой программой выдаёт ошибки: Произошла ошибка! SMTP ошибка (-1): Сбой соединения с сервером. Он работал себе нормально. с сервером ничего не делал. Перезагружал VPS - толку нет.

2016/07/29 00:28:56 [crit] 1074#1074: *195 connect() to unix:/var/run/php-fpm.apache.sock failed (2: No such file or directory) while connecting to upstream, client: 91.199.175.53, server: 7woks.ru, request: «POST /roundcube/?_task=mail&_action=refresh HTTP/1.1», upstream: «fastcgi://unix:/var/run/php-fpm.apache.sock:», host: «7woks.ru», referrer: "http://7woks.ru/roundcube/?_task=mail&_action=compose&_id=11469823335...

2016/07/29 00:29:56 [crit] 1074#1074: *195 connect() to unix:/var/run/php-fpm.apache.sock failed (2: No such file or directory) while connecting to upstream, client: 91.199.175.53, server: 7woks.ru, request: «POST /roundcube/?_task=mail&_action=refresh HTTP/1.1», upstream: «fastcgi://unix:/var/run/php-fpm.apache.sock:», host: «7woks.ru», referrer: "http://7woks.ru/roundcube/?_task=mail&_action=compose&_id=11469823335...

nginx.conf

user apache; worker_processes 1;

error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid;

events { worker_connections 1024; }

http { include /etc/nginx/mime.types; default_type application/octet-stream;

log_format main '$remote_addr - $remote_user [$time_local] «$request» ' '$status $body_bytes_sent «$http_referer» ' '«$http_user_agent» «$http_x_forwarded_for»';

access_log /var/log/nginx/access.log main;

sendfile on; #tcp_nopush on;

keepalive_timeout 65;

#gzip on;

include /etc/nginx/conf.d/*.conf; include /etc/nginx/vhosts/*/*.conf; client_max_body_size 150m; server { server_name localhost; disable_symlinks if_not_owner; listen 80; include /etc/nginx/vhosts-includes/*.conf; location @fallback { error_log /dev/null crit; proxy_pass http://127.0.0.1:8080; proxy_redirect http://127.0.0.1:8080 /; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; access_log off ; } } }

xcoder ()
Ответ на: комментарий от xcoder

connect() to unix:/var/run/php-fpm.apache.sock failed (2: No such file or directory)

Вот это вот говорит о том что php-fpm скорее всего не запущен

MrClon ★★★★★ ()
Ответ на: комментарий от MrClon

хм

Так я вообще не юзаю phph-fpm . у меня без него всё работало на nginx+apache. ну ок , я его установил (yum install php-fpm) и запустил ( service php-fpm start )

log ошибок тот же

2016/07/29 17:10:28 [crit] 1156#1156: *1 connect() to unix:/var/run/php-fpm.apache.sock failed (2: No such file or directory) while connecting to upstream, client: 81.150.174.51, server: 7woks.ru, request: «POST /roundcube/?_task=mail&_action=refresh HTTP/1.1», upstream: «fastcgi://unix:/var/run/php-fpm.apache.sock:», host: «7woks.ru», referrer: "http://7woks.ru/roundcube/?_task=mail&_mbox=INBOX

2016/07/29 17:11:28 [crit] 1156#1156: *1 connect() to unix:/var/run/php-fpm.apache.sock failed (2: No such file or directory) while connecting to upstream, client: 81.150.174.51, server: 7woks.ru, request: «POST /roundcube/?_task=mail&_action=refresh HTTP/1.1», upstream: «fastcgi://unix:/var/run/php-fpm.apache.sock:», host: «7woks.ru», referrer: "http://7woks.ru/roundcube/?_task=mail&_mbox=INBOX

2016/07/29 17:11:34 [crit] 1156#1156: *1 connect() to unix:/var/run/php-fpm.apache.sock failed (2: No such file or directory) while connecting to upstream, client: 81.150.174.51, server: 7woks.ru, request: «GET /roundcube/?_task=mail&_mbox=INBOX HTTP/1.1», upstream: «fastcgi://unix:/var/run/php-fpm.apache.sock:», host: «7woks.ru», referrer: "http://7woks.ru/roundcube/?_task=mail&_err=session

2016/07/29 17:11:35 [crit] 1156#1156: *1 connect() to unix:/var/run/php-fpm.apache.sock failed (2: No such file or directory) while connecting to upstream, client: 81.150.174.51, server: 7woks.ru, request: «GET /roundcube/?_task=mail&_action=list&_refresh=1&_mbox=INBOX&_remote=1&_unlock=loading1469801496328&_=1469801496180 HTTP/1.1», upstream: «fastcgi://unix:/var/run/php-fpm.apache.sock:», host: «7woks.ru», referrer: "http://7woks.ru/roundcube/?_task=mail&_mbox=INBOX

2016/07/29 17:11:35 [crit] 1156#1156: *114 connect() to unix:/var/run/php-fpm.apache.sock failed (2: No such file or directory) while connecting to upstream, client: 81.150.174.51, server: 7woks.ru, request: «GET /roundcube/?_task=mail&_action=getunread&_page=1&_remote=1&_unlock=0&_=1469801496181 HTTP/1.1», upstream: «fastcgi://unix:/var/run/php-fpm.apache.sock:», host: «7woks.ru», referrer: "http://7woks.ru/roundcube/?_task=mail&_mbox=INBOX

2016/07/29 17:12:36 [crit] 1156#1156: *1 connect() to unix:/var/run/php-fpm.apache.sock failed (2: No such file or directory) while connecting to upstream, client: 81.150.174.51, server: 7woks.ru, request: «POST /roundcube/?_task=mail&_action=refresh HTTP/1.1», upstream: «fastcgi://unix:/var/run/php-fpm.apache.sock:», host: «7woks.ru», referrer: "http://7woks.ru/roundcube/?_task=mail&_mbox=INBOX

xcoder ()
Ответ на: хм от xcoder

....добавить забыл

что по прежнему по пути /var/run/php-fpm.apache.sock не создаётся ничего.

Как тут спойлер воткнуть? я пишу текст в {cut} текст {/cut} - скобки квадратные и ничё не происходит

конфиг этого php-fpm /etc/php-fpm.d/www.conf https://yadi.sk/i/5IXqzKDztk6gM

xcoder ()
Ответ на: ....добавить забыл от xcoder

Как тут спойлер воткнуть? я пишу текст в {cut} текст {/cut} - скобки квадратные и ничё не происходит

Никак, изучаем www.linux.org.ru/help/lorcode.md для вашего случая code

anc ★★★★★ ()
Ответ на: хм от xcoder

Re: хм

А откуда тогда в конфиге nginx взялся путь /var/run/php-fpm.apache.sock?

MrClon ★★★★★ ()
Ответ на: комментарий от anc

Спойлер (cut) в ленте Парный тег [cut] для создания спойлера с целью сокращения занимаемого места

яж не с луны взял тэг CUT Спойлер (cut) в ленте

Парный тег

для создания спойлера с целью сокращения занимаемого места на главной странице и в ленте.

Примеры использования:

Текст, который будет скрыт внутри спойлера

при скрытии теста, отобразит ссылку вида ( читать дальше... ).

Текст, который будет скрыт внутри спойлера

при скрытии текста отобразит ссылку вида ( Текст, который будет выведен в ссылке вместо скрытого внутри cut содержимого ).

xcoder ()
Ответ на: Re: хм от MrClon

а где он в конфиге то?

MrClon и другие. я не вижу путь у себя в конфиге.nginx.conf я выше уже привёл

Вижу только в логе ошибок «Просмотр журнала запросов - 7woks.ru.error.log»

xcoder ()
Ответ на: комментарий от MrClon

/etc/nginx/vhosts/

#user 'black' virtual host '7woks.ru' configuration file
server {
	server_name 7woks.ru www.7woks.ru ;
	charset off;
	disable_symlinks if_not_owner from=$root_path;
	index index.html index.php;
	root $root_path;
	set $root_path /var/www/bleack/data/www/7woks.ru;
	access_log /var/www/httpd-logs/7woks.ru.access.log ;
	error_log /var/www/httpd-logs/7woks.ru.error.log notice;
	include /etc/nginx/vhosts-includes/*.conf;
	location / {
		location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf)$ {
			try_files $uri $uri/ @fallback;
		}
		location / {
			try_files /does_not_exists @fallback;
		}
		location ~ [^/]\.ph(p\d*|tml)$ {
			try_files /does_not_exists @fallback;
		}
	}
	location @fallback {
		proxy_pass http://127.0.0.1:8080;
		proxy_redirect http://127.0.0.1:8080 /;
		proxy_set_header Host $host;
		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
		proxy_set_header X-Forwarded-Proto $scheme;
		access_log off ;
	}
	listen 79.144.76.48:80;
	ssi on;
}
/etc/nginx/conf.d/default.conf.rpmnew (default.conf - внутри # Disabled by ISPmanager. как же я отключил это? или так и должно быть?)

server {
    listen       80;
    server_name  localhost;

    #charset koi8-r;
    #access_log  /var/log/nginx/log/host.access.log  main;

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }

    #error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

    # proxy the PHP scripts to Apache listening on 127.0.0.1:80
    #
    #location ~ \.php$ {
    #    proxy_pass   http://127.0.0.1;
    #}

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    #location ~ \.php$ {
    #    root           html;
    #    fastcgi_pass   127.0.0.1:9000;
    #    fastcgi_index  index.php;
    #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
    #    include        fastcgi_params;
    #}

    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    #location ~ /\.ht {
    #    deny  all;
    #}
}
xcoder ()
Ответ на: комментарий от xcoder

нашёл в другой папке

/etc/nginx/vhosts/bleack/7woks.ru.conf

#user 'black' virtual host '7woks.ru' configuration file
server {
	server_name 7works.ru www.7works.ru ;
	charset off;
	disable_symlinks if_not_owner from=$root_path;
	index index.html index.php;
	root $root_path;
	set $root_path /var/www/bleack/data/www/7woks.ru;
	access_log /var/www/httpd-logs/7woks.ru.access.log ;
	error_log /var/www/httpd-logs/7woks.ru.error.log notice;
	include /etc/nginx/vhosts-includes/*.conf;
	location / {
		location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf)$ {
			try_files $uri $uri/ @fallback;
		}
		location / {
			try_files /does_not_exists @fallback;
		}
		location ~ [^/]\.ph(p\d*|tml)$ {
			try_files /does_not_exists @fallback;
		}
	}
	location @fallback {
		proxy_pass http://127.0.0.1:8080;
		proxy_redirect http://127.0.0.1:8080 /;
		proxy_set_header Host $host;
		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
		proxy_set_header X-Forwarded-Proto $scheme;
		access_log off ;
	}
	listen 79.134.76.44:80;
	ssi on;
}

xcoder ()

Поверь права директории и сокетов. На наличие файлов и сокетов. Посмотри конфиги php-fpm, php.ini и nginx. нужная ли версия пхп у тебя стоит?

gssomi ★★ ()
Ответ на: комментарий от gssomi

!

права директории какой? и какие должны быть? на чтение есть для пользователя.

Нашёл конфиг roundcube (это которая ошибку даёт) ошибка:

 
2016/07/29 21:25:52 [crit] 1661#1661: *124 connect() to unix:/var/run/php-fpm.apache.sock failed (2: No such file or directory) while connecting to upstream, client: 91.188.154.53, server: 7woks.ru, request: "POST /roundcube/?_task=mail&_action=refresh HTTP/1.1", upstream: "fastcgi://unix:/var/run/php-fpm.apache.sock:", host: "7woks.ru", referrer: "http://7woks.ru/roundcube/?_task=mail&_mbox=INBOX
/etc/nginx/vhosts-includes/roundcube.conf
location 
/roundcube/ {
	alias /usr/share/roundcubemail/;
	index index.php;
	error_page 404 @apache;
}
location ~ ^/roundcube/(.+\.php)$ {
	alias /usr/share/roundcubemail/$1;
	fastcgi_pass unix:/var/run/php-fpm.apache.sock;
	fastcgi_index index.php;
	fastcgi_param SCRIPT_FILENAME $request_filename;
	fastcgi_param PHP_FLAG "display_errors=on \n display_startup_errors=on";
	fastcgi_param PHP_VALUE "error_reporting=-1";
	include fastcgi_params;
	error_page 502 = @apache;
	error_page 404 = @apache;
}
location @apache {
	error_log /dev/null crit;
	proxy_pass http://127.0.0.1:8080;
	proxy_redirect http://127.0.0.1:8080 /;
	proxy_set_header Host $host;
	proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
	proxy_set_header X-Forwarded-Proto $scheme;

xcoder ()
Ответ на: ! от xcoder

1

какой путь тогда указывать? где этот сокет открывается? fastcgi_pass unix:/var/run/php-fpm.apache.sock;

xcoder ()
Ответ на: 1 от xcoder

РЕШЕНО (exim)

Благодарю за внимание, но уже решился вопрос благодаря хорошему человеку, Александру, из суппорта компании Hosting-center. 1. служба exim отвечала за всё, походу перебивала php-fpm, который и не стол у меня. пробил лог exima: tail -n2 /var/log/exim/panic.log выхлоп: 2016-07-29 23:33:27 Exim configuration error in line 31 of /etc/exim/exim.conf: «keep_environment» option set for the second time

Исправил ошибку и перезапустил службу.

2. Открыл конфиг /etc/exim/exim.conf . Убрал в 31 строке повторяющийся параметр «keep_environment =». Сохранил файл. Перезапустил «service exim restart». Служба работает. Незаработало. Перезапустил ihttpd и httpd с nginx - ВСЁ ЗАРАБОТАЛО

xcoder ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.