インターネットの急速な発展に伴い、Web サービスは人々が情報を入手する重要な方法の 1 つになりました。最も人気のある Web サービス テクノロジの 1 つは LAMP (Linux、Apache、MySQL、PHP) であり、これらの登場により、動的な Web アプリケーションの構築が容易になりました。ただし、LAMP は完全な Web サービス ソリューションとしてよく使用されますが、Apache サーバーのリソース消費とパフォーマンスの問題により、Web サーバーとして Apache の代わりに Nginx を使用することを選択する人が増えています。
Nginx は、高性能軽量 Web サーバーおよびリバース プロキシ サーバーです。これは非常に安定しており、複数のプラットフォームをサポートするオープン ソース ソフトウェアであり、Apache Web サービスのすべての基本機能が実装されており、パフォーマンスが向上しています。ただし、多くの開発者は、Nginx で PHP を使用するときに、Nginx が PHP ページを正しく開けないなど、依然としていくつかの従来の問題に遭遇しています。 Nginx で PHP ページを開けない問題とその解決策について詳しく説明します。
Nginx サーバー上で特定の PHP プログラムを実行すると、PHP ページを開くことができません。ブラウザには、「502 Bad Gateway」または「404 Not Found」というエラー メッセージが表示されることがよくあります。これは通常、PHP-FPM (PHP FastCGI Process Manager) が正しく起動できないことが原因で発生します。PHP-FPM は、Nginx ソリューションで実行される外部プロセス マネージャーであり、PHP インタープリター プロセスの割り当てと実行の管理を担当します。
Nginx で PHP ページを開けない問題の解決策は次のとおりです:
まず、Nginx と PHP-FPM が正しくインストールされていることを確認してください。これらを正しくインストールしないと、PHP スクリプトを正しく実行できない可能性があります。 PHP-FPM が正しくインストールされていることを確認するには、ターミナルで次のコマンドを実行します:
sudo apt-get install php-fpm
Nginx 構成ファイルが次の場所を正しく設定していることを確認します。 PHP インタープリター。たとえば、PHP-FPM インストールのパスを Nginx 構成ファイルの「location/」に追加する必要があります。
server { listen 80; root /var/www/html; index index.php index.html index.htm; server_name test.com; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ .php$ { fastcgi_pass unix:/run/php/php7.0-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; fastcgi_read_timeout 300; } }
上記のコードを Nginx 構成ファイルに貼り付け、そこにあるパスが実際のパスと一致していることを確認します。 PHP インタープリターの場所を正しく構成すると、Nginx はそれを使用して PHP スクリプトをレンダリングし、Web サイト訪問者の Web ブラウザーに配信します。
Nginx 構成ファイルを変更した場合は、Nginx サービスを再起動する必要があります。 Nginx を再起動するには、ターミナルで次のコマンドを実行します。
sudo service nginx restart
同様に、PHP-FPM 構成ファイルを変更した場合は、PHP-FPM サービスを再起動する必要があります。 PHP-FPM を再起動するには、ターミナルで次のコマンドを実行します:`
sudo service php-fpm restart
PHP ページがまだ適切に動作しない場合は、次のコマンドが原因である可能性があります。 PHP-FPMが起動していないためです。 PHP-FPM が実行中かどうかを確認するには、ターミナルで次のコマンドを実行します。
systemctl status php-fpm.service
実行中の場合は、「Active: active (running)」という文字が表示されます。そうでない場合は、次のコマンドを実行して PHP-FPM を再起動できます:
sudo service php-fpm start
最後に、PHP ファイルと PHP が依存するファイルが適切であることを確認します。 on フォルダーはすべて正しい権限を持っています。 PHP ファイルまたは依存フォルダーのアクセス許可が正しく設定されていない場合、PHP スクリプトは実行できません。ファイルまたはフォルダーのアクセス許可を変更するには、ターミナルで次のコマンドを実行します。
sudo chown -R www-data:www-data /var/www/html/
上記のコマンドは、ファイルとフォルダーの所有権を www-data ユーザーおよびグループに変更します。
Nginx は、動的 Web アプリケーションを実行するために Apache の代替として使用できる高性能 Web サーバーおよびリバース プロキシ サーバーです。ただし、Nginx と PHP-FPM 間の構成や問題により、PHP ページを正しく開けない場合があります。この場合は、上記の手順に従って 1 つずつトラブルシューティングを行ってください。上記の手順をすべて完了すると、Nginx サーバー上で PHP スクリプトを通常どおり実行できるようになります。
以上がnginx で php ページを開けない場合はどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。