web-dev-qa-db-ja.com

LEMPスタックでのPHP-FPMの問題とWordPress

私はNGINXとサーバー管理の初心者です。

このチュートリアルを使用してNGINXをインストールしました/ PHP/mySQL/WordPress:

C3Mデジタルチュートリアル

このチュートリアルでは、バックエンドのphp-cgiセットアップはfastcgiを使用して構成されます。 php5-fpmは、このチュートリアル中にインストールされました。

apt-get install nginx-full php5-fpm php5 php5-mysql php5-apc php5-mysql php5-xsl php5-xmlrpc php5-sqlite php5-snmp php5-curl

WordPressコーデックのNGINX構成はほとんどのチュートリアルよりも安全であると読んだ後、コーデック構成を使用することにしました。

CodexでのWordPress NGINX構成

Codex構成では、バックエンドphp-cgiにphp-fpmを使用します。ブラウザを開くと、502 BadGatewayエラーが発生しました。エラーログは次のとおりです。

"2012/06/10 21:18:27 [crit] 14009#0:* 4アップストリームのクライアントへの接続中にunix:/tmp/php-fpm.sockへのconnect()が失敗しました(2:そのようなファイルまたはディレクトリはありません) :12.3.456.789、サーバー:mywebsite.com、リクエスト: "GET/HTTP/1.1"、アップストリーム: "fastcgi:// unix:/tmp/php-fpm.sock:"、hos t: "mywebsite.com" "

コーデックスによって提供されたメインのNGINX構成ファイルで、空のディレクトリを指すアップストリームphpブロックの「serverunix:」で始まる行に気づきました。

    # Upstream to abstract backend connection(s) for PHP.
upstream php {
    server unix:/tmp/php-fpm.sock;
#       server 127.0.0.1:9000;
}

/ tmpにあるフォルダを確認したところ、空でした。

NGINXで再生するようにphp-fpmを構成できなかったようです。

誰かが私を正しい方向に向けることができますか?

大変感謝いたします!

1
jw60660

Unixソケットでリッスンするようにphp-fpmを設定していないようです。あなたが従う指示はDebianのためのものなので、私はあなたが何らかの種類のDebianを使用していると推測しています。

私のDebian/nginx/php設定には、次のファイルがあります。/etc/php5/fpm/pool.d/www.conf php-fpmが127.0.0.1:9000アドレスではなくUnixソケットでリッスンできるようにするには、これを編集する必要があります。

/etc/php5/fpm/pool.d/www.confを読み取るlisten = 127.0.0.1:9000の行を見つけて、/tmp/php-fpm.sockに変更します(またはコメントアウトして、その下にlisten = /tmp/php-fpm.sockを追加します)。または、php-fpm.sockファイルをtmp以外の場所に保存したい場合もあります。グーグルはおそらくそれであなたを助けることができます。

4
tfitzgerald