私は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
を見つけるにはどうすればよいですか?
私の仕様:
これは古い質問であることは知っていますが、私も今同じ問題を抱えており、答えを見つけたので、それを共有するかもしれないと思いました。この問題は、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が既に作成されているかどうかを確認します。
構成ファイルを確認します。構成パスは/etc/php5/fpm/pool.d/www.conf
です。そこで構成ごとにパスが見つかり、必要に応じて変更できます。
[〜#〜] edit [〜#〜]:
それは正しいです。listen = 127.0.0.1:9000
をlisten = /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
が表示されても、そのフォルダが消えてサービスの開始に失敗します。
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
_に移動します(日付と曜日が印刷されているはずです)
私の場合は解決した、私は見て
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
そして再起動
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
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をリロードするだけです。