問題タブ [fpm]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
docker - Dockerfile で PHP7.0-FPM を起動するには?
見つけたすべての回答を調べたところ、fpm 7 を起動できないようです。コンテナーに入って手動で実行すると、service php7.0-fpm start
すべて正常に動作します。
私が試したこと:
CMD ["nginx", "-g", "daemon off;", "php7.0-fpm"]
私が試したことII:
CMD ["php7.0-fpm", "nginx", "-g", "daemon off;"]
私が試したことIII:
CMD ["php-fpm7.0", "nginx", "-g", "daemon off;"]
私が試したことIV:
RUN service php7.0-fpm start
CMD ["php-fpm7.0", "nginx", "-g", "daemon off;"]
PS:
Nginx は正常に動作します。
PPS:
できればスーパーバイザーの使用は避けたいです。
php - ピアによるphp-fpm接続のリセット
Docker イメージに php-fpm をセットアップしようとしています。
私のdocker-compose.ymlのサービスは次のとおりです。
Docker イメージは次のコマンドを使用します。
これが私のphp-fpm confです:
listen.allowed_clients = 127.0.0.1
そうしないと、接続拒否メッセージが表示されたため、設定しました。Nginxイメージが持つIPがわからないため、最終的には任意のIPからの接続を受け入れるためにphp-fpmが必要になります.php-fpmイメージはインターネットにパブリックに接続されないため、それは問題ではありません.
実行中docker exec
のイメージにログインするために実行wget
し、サーバーをテストするために実行しました。
コンソールには、次以外の出力は表示されません。
php - nginx + PHP-FPM: fastcgi パラメータの廃止
私はちょっとした実験をしています。よろしければ仮説です。主なアイデアは単純です: 3 つの Docker コンテナー、1 つは index.php を含む単純なデータ コンテナーであり、/app/web/
単純に出力されますphpinfo();
。これは正常に機能します。
正常に動作しているnginxコンテナと、別のPHP-FPMコンテナがあります。どちらも公式画像より。
標準のセットアップですべてが正常に機能し、セキュリティ対策がデータコンテナをphp-fpmにのみバインドしたとしても、nginxはファイル自体にアクセスすることさえできませんでした. したがって、データ コンテナは の php-fpm コンテナにマウントされ、/app
すべてがうまくいっています。
これはすべて問題ありませんでした。それから、いくつかの変数をいじり始めました。
実際、nginx が変数を php-fpm に渡すだけの場合、nginx fastcgi セットアップでいくつかのパラメーターを削除できる可能性があることに気付きました。 ?
chroot
に設定するとうまくいき/app
、に追加chdir
しました/web
が、nginxから削除するとすぐにPATH_TRANSLATED
機能しなくなります。私は得るFile not found.
か、No input file specified.
nginx コンテナの nginx.conf の関連部分は次のとおりです。nginx.conf にroot
は指定されていません。
www.conf
プールの関連部分:
何か案は?
php - Apache2 PHP-FPM 構成プール
PHP スクリプトを別のユーザーとして実行するためにプールを設定しようとしていますが、うまくいきません。これが私がやったことのステップバイステップです(Ubuntu 16.04で):
次に、「web」というユーザーを作成しました
/var/www/web に彼のホームディレクトリを設定します
新しいユーザーのプール ファイルを作成して構成します。
PHPスクリプトが適切なユーザーとして実行されるようにするために、次のスクリプトを /var/www および var/www/web に配置します
/var/www/user.php を実行すると、正しい「www-data」が表示されます。しかし、/var/www/web/user.php を実行すると、「web」と表示されるはずなのに「www-data」と表示されます。
では、私の Apache 設定の何が問題なのですか?
php - FPM ログの改行をオフにする
php-fpm ログで改行をオフにする方法はありますか? 改行なしでデータをログに記録する方がはるかに快適です。ログから何かをgrepすると、ログエントリの最初の行のみが出力されますが、行があった場合に切り取られるvarダンプやスタックトレースなどの追加情報がある可能性があります壊れます。それはapacheで良かった、なぜならそれはそれらをエスケープするから、そして必要に応じてsedを使う方が良いが、今はちょっと面倒だ(
php - proxy_read_timeout と fastcgi_read_timeout の違いは何ですか?
... Nginx が PHP-FPM のフロント エンドとして機能するときは?
Nginx はプロキシであり、PHP は fastcgi を介して提供されます...では、両方が適用されますか?
背景: Nginx は、PHP-FPM からの応答に時間がかかりすぎたため、多くのタイムアウトを報告したため、どの値を増やす必要があるかを把握する必要があります。