web-dev-qa-db-ja.com

php-fpm.sockを見つける方法は?

私はWordpress with:Nginx + PHP-FPM + APC + W3 Total Cache + PageSpeedを実行しています。

3日間の調査と構成の後、私はそれを機能させることに成功しました。 127.0.0.1:9000で実行するようにPHP-FPMを構成しました。しかし今、私はソケット経由で設定したいと思います。

問題は、サーバーでソケットパスが見つからないことです。 /var/run/php-fpm/php-fpm.pidを見つけましたが、php-fpm.sockはありませんでした。

whereis php-fpmを実行すると、出力は次のとおりです。

php-fpm: /usr/sbin/php-fpm /etc/php-fpm.d /etc/php-fpm.conf /usr/share/man/man8/php-fpm.8.gz

しかし、php-fpm.sockはありません。

php-fpm.sockを見つけるにはどうすればよいですか?

私の仕様:

  • Amazon Micro EC2
  • Linuxバージョン3.4.48-45.46.amzn1.x86_64 Red Hat 4.6.3-2(CentOS 5に基づいていると思います)
  • PHP 5.3.26(fpm-fcgi)
25
Márcio

これは古い質問であることは知っていますが、私も今同じ問題を抱えており、答えを見つけたので、それを共有するかもしれないと思いました。この問題は、pood.d /ディレクトリーでの構成が原因でした。

開いた

/etc/php5/fpm/pool.d/www.conf

見つける

listen = 127.0.0.1:9000

への変更

listen = /var/run/php5-fpm.sock

その後、nginxとphp5-fpmサービスの両方を再起動し、php5-fpm.sockが既に作成されているかどうかを確認します。

40
Fath

構成ファイルを確認します。構成パスは/etc/php5/fpm/pool.d/www.confです。そこで構成ごとにパスが見つかり、必要に応じて変更できます。

[〜#〜] edit [〜#〜]
それは正しいです。listen = 127.0.0.1:9000listen = /var/run/php5-fpm/php5-fpm.sockに置き換えてから、Sudo service php5-fpm restartを実行する必要があります。そうでない場合は、正しく再起動したことを確認してください/var/run/というフォルダーがphp5-fpmというフォルダーを持っていることを確認するか、/var/run/php5-fpm.sockをリッスンするようにしてください。/var/run内のフォルダーが自動的に作成されるとは思いません起動スクリプトを編集してそのフォルダを作成する必要がありました。そうしないと、再起動後にmkdir /var/run/php5-fpmが表示されても、そのフォルダが消えてサービスの開始に失敗します。

10

7年後にCentOSで同じ問題に直面しました

他の人に役立つことを期待して投稿しています...

手順:

[〜#〜] first [〜#〜]、php-fpm設定を構成します。

-> _systemctl stop php-fpm.service_

-> _cd /etc/php-fpm.d_

-> _ls -hal_(www.confファイルが表示されます)

-> _cp www.conf www.conf.backup_(念のためファイルをバックアップします)

-> _vi www.conf_

-> _:/listen =_(変更する必要がある行に到達するには)

-> i(VIのテキスト挿入モードに入るため)

-> _listen = 127.0.0.1:9000_から_listen = /var/run/php-fpm/php-fpm.sock_に変更

-> Escその後_:/listen.owner_(見つけるため)そしてi(変更するため)

-> _listen.owner = nobody_および_listen.group = nobody_行のコメントを外します

-> Escを押してから_:/user =_と入力してからiと入力します

-> _user = Apache_を_user = nginx_に変更

-> AND _group = Apache_を_group = nginx_に変更

-> Escを押してから_:wq_(保存して終了)

-> _systemctl start php-fpm.service_(php-fpm.sockファイルが作成されます)

[〜#〜] second [〜#〜]、_server {}_ファイルで_/etc/nginx/nginx.conf_ブロックを設定します。次に実行:_systemctl restart nginx.service_

[〜#〜] finally [〜#〜]、Nginxの/ usr/share/nginx/htmlディレクトリに新しい.phpファイルを作成しますテストとしてインターネットブラウザ経由で提供するサーバー。

-> _vi /usr/share/nginx/html/mytest.php_

-> oと入力します

-> <?php echo date("Y/m/d-l"); ?>(PHPページはブラウザで日付と曜日を印刷します)

-> Escをヒット

-> _:wq_と入力します(保存し、VIエディターを保存します)

->ブラウザを開いて、_http://yourDomainOrIPAddress/mytest.php_に移動します(日付と曜日が印刷されているはずです)

7
specialk1st

私の場合は解決した、私は見て

Sudo tail -f /var/log/nginx/error.log

エラーはphp5-fpm.sockが見つかりません

私は見ます Sudo ls -lah /var/run/

php5-fpm.sockはありませんでした

Www.confを編集します

Sudo vim /etc/php5/fpm/pool.d/www.conf

変化する

listen = 127.0.0.1:9000

for

listen = /var/run/php5-fpm.sock

そして再起動

3
Mdev

php-fpm.confを検索すると

example location:
cat /usr/src/php/sapi/fpm/php-fpm.conf

実際にUnixソケットを使用するようにPHP FastCGI Process Managerを構成する必要があることがわかります。デフォルトでは、listenディレクティブは、1つのポートのTCPソケットでリッスンするように設定されています。 Unixソケットが定義されていない場合、Unixソケットファイルは見つかりません。

; The address on which to accept FastCGI requests.
; Valid syntaxes are:
;   'ip.add.re.ss:port'    - to listen on a TCP socket to a specific IPv4 address on
;                            a specific port;
;   '[ip:6:addr:ess]:port' - to listen on a TCP socket to a specific IPv6 address on
;                            a specific port;
;   'port'                 - to listen on a TCP socket to all IPv4 addresses on a
;                            specific port;
;   '[::]:port'            - to listen on a TCP socket to all addresses
;                            (IPv6 and IPv4-mapped) on a specific port;
;   '/path/to/unix/socket' - to listen on a unix socket.
; Note: This value is mandatory.
listen = 127.0.0.1:9000
0
kaiser

Centos7でLEMPを初めて実行すると、この問題が発生しますpost

私はnginxを再起動してphpinfoページをテストしますが、これを取得します

http://xxx.xxx.xxx.xxx/info.php は現在到達不能ではありません。

次に、tail -f /var/log/nginx/error.log詳細情報を表示します。 php-fpm.sockファイルが存在しないことがわかりました。その後、システムを再起動しますが、すべて問題ありません。

ここでは、Fathの post のようにシステムを再起動する必要はなく、nginxとphp-fpmをリロードするだけです。

php-fpmを再起動

nginx configの再読み込み

0
Kris Roofe