ホームページ  >  記事  >  バックエンド開発  >  nginx で php ページを開けない場合はどうすればよいですか?

nginx で php ページを開けない場合はどうすればよいですか?

PHPz
PHPzオリジナル
2023-04-24 10:50:331848ブラウズ

インターネットの急速な発展に伴い、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 ページを開けない問題の解決策は次のとおりです:

1. Nginx と PHP-FPM が正しくインストールされているか確認します

まず、Nginx と PHP-FPM が正しくインストールされていることを確認してください。これらを正しくインストールしないと、PHP スクリプトを正しく実行できない可能性があります。 PHP-FPM が正しくインストールされていることを確認するには、ターミナルで次のコマンドを実行します:

sudo apt-get install php-fpm

2. Nginx 構成ファイルを確認します

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 ブラウザーに配信します。

3. サービスを再起動します

Nginx 構成ファイルを変更した場合は、Nginx サービスを再起動する必要があります。 Nginx を再起動するには、ターミナルで次のコマンドを実行します。

sudo service nginx restart

同様に、PHP-FPM 構成ファイルを変更した場合は、PHP-FPM サービスを再起動する必要があります。 PHP-FPM を再起動するには、ターミナルで次のコマンドを実行します:`

sudo service php-fpm restart

4. PHP-FPM が開始したかどうかを確認します

PHP ページがまだ適切に動作しない場合は、次のコマンドが原因である可能性があります。 PHP-FPMが起動していないためです。 PHP-FPM が実行中かどうかを確認するには、ターミナルで次のコマンドを実行します。

systemctl status php-fpm.service

実行中の場合は、「Active: active (running)」という文字が表示されます。そうでない場合は、次のコマンドを実行して PHP-FPM を再起動できます:

sudo service php-fpm start

5. ファイルとフォルダーのアクセス許可を確認します

最後に、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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。