2017-11-20 51 views
0

php5-fpm.sockに接続できません。私は多くのソリューションを試してみましたが、それでもこのエラーを取得していますphp5-fpm.sockが見つかりません//var/runに作成されました

location /webmail { 
     alias /srv/roundcubemail; 
     index index.php index.html; 
     # Favicon 
     location ~ ^/webmail/favicon.ico$ { 
       root /srv/roundcubemail/skins/classic/images; 
       log_not_found off; 
       access_log off; 
       expires max; 
     } 
     # Robots file 
     location ~ ^/webmail/robots.txt { 
       allow all; 
       log_not_found off; 
       access_log off; 
     } 
     # Deny Protected directories 
     location ~ ^/webmail/(config|temp|logs)/ { 
       deny all; 
     } 
     location ~ ^/webmail/(README|INSTALL|LICENSE|CHANGELOG|UPGRADING)$ { 
       deny all; 
     } 
     location ~ ^/webmail/(bin|SQL)/ { 
       deny all; 
     } 
     # Hide .md files 
     location ~ ^/webmail/(.+\.md)$ { 
       deny all; 
     } 
     # Hide all dot files 
     location ~ ^/webmail/\. { 
       deny all; 
       access_log off; 
       log_not_found off; 
     } 
     #Roundcube fastcgi config 
     location ~ /webmail(/.*\.php)$ { 
       error_log /var/log/nginx/x.log error; 
       include fastcgi_params; 
       fastcgi_pass unix:/var/run/php5-fpm.sock; 
       fastcgi_split_path_info ^/webmail/(.+\.php)(/.*)$; 
       fastcgi_index index.php; 
       #fastcgi_param SCRIPT_FILENAME /srv/roundcubemail/$fastcgi_script_name; 
       fastcgi_param SCRIPT_FILENAME /srv/roundcubemail/index.php; 
       fastcgi_param PATH_INFO $fastcgi_path_info; 
     } 
} 

が、それは多分ディレクトリへの許可の問題です:

2017/11/20 11:17:21 [crit] 9670#9670: *1 connect() to unix:/var/run/php5-fpm.sock failed (2: No such file or directory) while connecting to upstream, client: 192.168.224.8, server: babylon, request: "GET /webmail/ HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "babylon" 

私の構成はこのようなものですか?私はそうは思わない。 私が作った試みがあった。

  • 私はソケットおよびIPそれでも

    を動作していないため、私のwww.confの聴き変更します。 Unixユーザ/プロセスグループ ;注:ユーザーは必須です。グループが設定されていない場合、既定のユーザーのグループ 。使用されます。 ユーザ= www-データ グループ= www-データ

    ; FastCGI要求を受け入れるアドレス。 ;有効な構文は次のとおりです。 ; 'ip.add.re.ss:port' - 上の特定のアドレスにTCPソケットをリッスンする。特定のポート。 ; 'ポート' - 上のすべてのアドレスにTCPソケットをリッスンします。特定のポート。 ; '/ path/to/unix/socket' - UNIXソケットで待ち受けます。 ;注:この値は必須です。 listen = /var/run/php5-fpm.sock ; listen = 127.0.0.1:9000

    ; listen(2)バックログを設定します。 ;デフォルト値:65535(FreeBSDおよびOpenBSDでは-1) ; listen.backlog = 65535

    ; unixソケットが使用されている場合は、それを設定します。 Linuxでは、読み取り/書き込み ; Webサーバーからの接続を許可するには、アクセス許可を設定する必要があります。多くは です。 BSDから派生したシステムでは、アクセス権に関係なく接続が許可されます。 ;デフォルト値:ユーザとグループは実行中のユーザとして設定されます ;モードは0660 listen.owner = WWW-データ listen.group = WWW-データ listen.modeに設定されている= 0660

  • 私はPHP5-FMとnginxの、まだ何も再起動しました。

どのように修正できますか?

php-fpm -v 

セカンドphp-fpm.conf設定をチェックして、この行を検索:

listen = /tmp/php-fpm.socket 

+1

'sudo lsof -c php-fpm |の出力は何ですか? grep -i sock'、それをあなたの質問に追加してください。 –

答えて

1

まず、インストールされているphp-fpmあれば、あなたは現在のバージョンを確認するためにこれを使用することができることを確認してください場合によっては追加するだけではなく、次のようにすることもできます。

listen = /var/run/php5-fpm.sock 
通常、これは使用されているいくつかのLinuxディストリビューションで

listen = /var/run/php5-fpm.sock 
listen.owner = www-data 
listen.group = www-data 
listen.mode = 0660 

あなたはTCPソケットを使用したい場合:

Listen 127.0.0.1:9000 

再起動php-fpmをし、ソケットがUnix domain socketを使用した場合に作成されていることを確認してください、これは、これを行うことによって行うことができます。

$ file /var/run/php5-fpm.sock 

このような何かを印刷するかどうソケットが存在する場合:

/var/run/php5-fpm.sock: socket 
+0

答えでは、 'fmp'は' fpm'でなければなりません。 –

+0

@TamimIbrahimこれをキャッチしてくれてありがとう:-) – nbari

1

rootユーザーの下の[再起動PHP-FPM

..... 
user = www-data 
group = www-data 

listen.owner = www-data 
listen.group = www-data 
...... 

あなたのPHP-FPM/www.confファイルにこれらの設定を確認してくださいでした。

関連する問題