php-fpmセットアップのnginx
NGINXとPHP-FPMをインストールし、PHPバージョンとソケットパスを確認します。 2。nginxサイトファイルを構成し、fastcgi_passとscript_filenameを正しく設定し、サイトを有効にします。 3. PHPINFOテストファイルを作成してPHP処理を検証し、ファイルが見つかっていないファイルや許可エラーなどの一般的な問題をトラブルシューティングします。この組み合わせは、UNIXソケットを使用して、中小サイズの交通生産環境に適した効率的で安全なPHP処理を実現します。
PHP-FPM(FastCGI Process Manager)でNGINXをセットアップすると、高性能Webサーバー(NGINX)と堅牢なPHPプロセッサ(PHP-FPM)を組み合わせています。これは、Laravel、WordPress、Symfonyなどの最新のPHPアプリケーションの一般的で効率的なスタックです。

適切に機能する方法は次のとおりです。
✅1。NGINXPHP -FPMをインストールします
ubuntu/debianについて:

sudo aptアップデート sudo apt install nginx php-fpm
これにより、両方のサービスがインストールされます。通常、PHP-FPMは自動的に開始され、ソケットとして実行されます(例えば、 /run/php/php8.1-fpm.sock
php8.1-fpm.sock - バージョンは異なる場合があります)。
PHPバージョンを確認してください:

PHP -V
次に、正しいソケットパスを確認します。
ls/run/php/ #Php8.1-fpm.sockのようなものを探してください
✅2。基本的なnginxサイト構成(PHP用)
/etc/nginx/sites-available/your-site
でサイト構成を編集または作成します。
サーバー{ 聞く80; root/var/www/html; index index.php index.html; server_name emple.com www.example.com; 位置 / { try_files $ uri $ uri/ = 404; } 場所〜\ .php $ { snippets/fastcgi-php.confを含める; fastcgi_pass unix:/run/php/php8.1-fpm.sock; FASTCGI_PARAM Script_fileName $ document_root $ fastcgi_script_name; fastcgi_paramsを含める; } location〜 /\.ht { すべてを否定します。 } }
キーポイント:
-
fastcgi_pass
、php-fpmソケットと一致する必要があります(バージョンを確認してください!)。 -
fastcgi_param SCRIPT_FILENAME
実行するファイルをPHP-FPMに伝えます。 -
try_files
を使用して、静的ファイルの不必要なPHP処理を避けます。
サイトを有効にします:
sudo ln -s/etc/nginx/sites-available/your-site/etc/nginx/sites-enabled/ sudo nginx -t && sudo systemctl reload nginx
✅3。PHP処理をテストします
テストファイルを作成します。
echo "<?php phpinfo();?>" | sudo tee /var/www/html/info.php
http://your-server-ip/info.php
にアクセスしてください。PHP情報ページが表示されている場合は、機能しています。
?一般的な問題とヒント
ブラウザで「ファイルが見つかりません」?
Double-CheckSCRIPT_FILENAME
- nginxは、ファイルがどこにあるかをPHPに伝える必要があります。ソケットで許可が拒否されましたか?
互換性のあるユーザー(通常はwww-data
)の下でphp-fpmとnginxが実行されるようにします。
Check/etc/php/*/fpm/pool.d/www.conf
-user = www-data
を探してください。遅いPHP応答?
サーバーリソースに基づいて、PHP-FPMプール設定(pm.max_children
、pm.start_servers
)を調整します。HTTPSを使用しますか?
SSL(Certbotで暗号化しましょう)を追加します - 同じセットアップ、listen 443 ssl
ためにlisten 80
だけです。
このセットアップは、小規模から中程度のトラフィックのために生産準備が整っています。 PHP-FPMプールが調整され、静的資産がNginxによって効率的にキャッシュされていることを確認してください。
基本的に、nginxは静的ファイルを処理し、PHPリクエストをUNIXソケットを介してPHP-FPMにプロキシを処理します - 高速、安全、スケーラブル。
以上がphp-fpmセットアップのnginxの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undress AI Tool
脱衣画像を無料で

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

HSTSを有効にする方法は、HTTPS Webサイトで厳密な輸送セキュリティ応答ヘッダーを構成することです。特定の操作は次のとおりです。1。nginxは、サーバーブロックにadd_headerディレクティブを追加します。 2.Apacheは、構成ファイルまたは.htaccessにヘッダーディレクティブを追加します。 3.IISは、web.configにカスタムヘッダーを追加します。サイトがHTTPSを完全にサポートし、パラメーターには最大年齢(有効期間)、含まれるサブドメイン(サブドメインが有効)、プリロード(プリロードリスト)が含まれるようにする必要があります。

NGINXのSSL/TLSサービスを構成するには、証明書と秘密キーを準備し、サーバーブロックに関連するパラメーターを設定する必要があります。 1.証明書ファイルを準備:.crtまたは.pem形式と対応する.key秘密キーで証明書を取得します。 Let'sencryptまたはコマーシャル組織を使用してそれを発行し、中間証明書をバンドルファイルにマージできます。 2。サーバーブロックの構成:listen443ssl、ssl_certificateパスを/etc/ssl/example.com.crt、およびssl_certificate_keyパスAs /etc/ssl/example.com.kをサイト構成ファイルに定義します。

NGINX構成を変更した後、最初に構文をテストしてからサービスをリロードする必要があります。 1. nginx-Tを使用して、構成ファイルの構文を確認します。プロンプト「Syntaxisok」と「testissuccessful」がプロンプトされた場合、それは正しいことを意味します。エラーがある場合、特定の問題行が表示されます。 2.構成ファイルのアクセス許可が高い場合、sudonginx-tを使用して実行する必要があります。 3.テストが実際にロードされていることを確認してください。 Nginx-T-C/path/to/your/nginx.confを介してパスを指定するか、メインプロセスでPS-EF | grepnginxを介して使用される構成ファイルを表示できます。 4。テストに合格したら、sudonginx-sreloadオーバーロードサービスを実行して、新しい構成を有効にします

tosetupannginxserverblock、first -understanditstandtureusionstheServerdirectiontientivestingtingslikelisten、server_name、andlocation;

^〜モディファイアは、指定されたプレフィックスのURLの一致を優先し、その後の正規表現が一致しないようにするために、nginxで使用されます。要求されたURLがこのプレフィックスで始まると、Nginxはこのブロック構成をすぐに採用し、すべての正規式(場所〜または場所〜*)チェックをスキップしますが、=の完全な一致は必要ありません。 1.特定のパス処理が必要な状況(静的リソースなど)に適しており、通常のルールに上書きされないようにします。 2。パフォーマンスを改善し、特定のルールが最初に実行されるようにするためによく使用されます。 3.典型的なシナリオには、サービス画像、スクリプト、または内部APIルーティングが含まれます。他の修飾子と比較してください。4。通常のプレフィックスマッチは、通常を確認し続けます。 5.正確な一致は、フルパスにのみ適用されます。 6.通常の試合が入ります

toconfigureabackupserverinnginx、「バックアップ」パラメーターターベルリンテウップストリームブロックを追加し、1.DefineTheUpStraveStraveStraveStraveStraveStraveStrafiCを保証します

特定のユーザーエージェントをブロックするには、Nginx、Apache、またはコード(PHP、Pythonなど)で実装できます。 1。NGINXでは、$ http_user_agent by if and return 403を審査します。 2。Apacheでは、setenvifnocaseを使用してアクセスを拒否します。 3.プログラムでユーザーエージェントを判断し、リクエストを傍受します。ブロックする必要がある一般的なUASには、Python-Requests、Curl、空のUAなどが含まれます。適切な方法を選択すると、ゴミの交通とセキュリティリスクを効果的に減らすことができます。

proxy_passはnginxで使用されてクライアント要求をバックエンドサーバーに転送します。そのコアロールは、nginxが逆プロキシとしてHTTPリクエストを処理できるようにすることです。 1.指定されたバックエンドサービス(ポート3000で実行されているnode.jsアプリケーションなど)にユーザーリクエストを受信して転送します。 2。NGINXは、バックエンドで返された応答を処理し、ユーザーに送り返します。同時に、プロセスにキャッシュ、圧縮、またはアクセス制御機能を追加できます。 3.設定するときは、パスマッチングとテールスラッシュの関係に注意して、マッチングパーツのパスを剥がすかどうかを判断します。 4.バックエンドが正しいコンテキスト情報を取得するようにするために、標準のプロキシヘッダーの設定(ホスト、X-Real-IPなど)と協力する必要があります。 5.一般的な問題にはパスが含まれません
