ホームページ 運用・保守 Nginx nginx プロンプト 500 内部サーバー エラーを解決する方法

nginx プロンプト 500 内部サーバー エラーを解決する方法

May 27, 2023 pm 11:27 PM
nginx

同時接続が多い場合、nginx は Apache サーバーの良い代替手段となります。 nginx は、レイヤー 7 負荷分散サーバーとしても使用できます。テスト結果によると、nginx 0.6.31 php 5.2.6 (fastcgi) は 30,000 を超える同時接続に耐えることができます。これは、同じ環境における Apache の 10 倍に相当します。
しかし、nginx を使用すると、多くの人が 500 エラーを受け取ります。私の使用法によれば、その原因の大部分は、ファイルを開くハンドルが小さすぎることです。
Linux では、このコマンドを使用して、プロセスによって開かれるファイル ハンドルを増やします。
ulimit -shn 51200
デフォルトは 1000 のみです。リンク数が少ない場合は表示されませんが、この処理方法を使用すると、500 エラーの発生を効果的に防ぐことができます。
今日 Web サイトにアクセスすると、時折 500 内部サーバー エラーのエラー ページが表示されました。
関連情報を確認したところ、過剰なアクセスと制限されたシステム カーネル プロセスが原因であると考えられました。
答えは次のとおりです。
$ ulimit -n
11095
プログラムは、開かれるファイルを 11095 個のみに制限します。ulimit コマンドは、現在のユーザーのプロセスが持つことができるファイル記述子の数を設定します。シミュレートされた同時実行数のようです 多すぎます。nginx.conf で同時設定の数を調整する必要があります (私の構成ホストには 2g のメモリと 2.8g の CPU があります。)

コードをコピーします。 コードは次のとおりです。

vi /etc/nginx/nginx.conf

events {
worker_connections 1024;
}

# に調整します。
##コードをコピーします。コードは次のとおりです。

events {

worker_connections 10240;

}

上記の問題は依然として発生します。

[root を使用してください。 @qimutian nginx]# cat /proc/sys/fs/file-max

8192
ファイル システムで開けるファイルの最大数
[root@qimutian nginx]# ulimit -n
1024
プログラムは、開くことができるファイルを 1024 個のみに制限します
[root@qimutian nginx] を使用します。 # ulimit -n 8192
を調整するか、ファイルの最後に追加して、開いているファイルの数を永続的に調整します。起動ファイル /etc/rc.d/rc.local (/etc/sysctl.conf の末尾に fs.file-max=8192 を追加)
ulimit -n 8192
で開いているファイルの数を調整します。 centos5
Use ulimit -a and find that open files can contain 1024 bydefault. While the tress test Yesterday, a 500 error happens. Please check
for each. nginx shows 500 Internal Server error
I wake up朝確認してみたら、次のように調整されていたことが分かりました。
方法1(恒久的な調整)
vi /etc/security/limits.conf
ファイルの最後に追加:
* ソフト nofile 8192
* ハード nofile 20480
同時に、vi /etc/sysctl.conf の最後に
fs.file-max=8192
を追加して再起動し、ulimit を使用します-n で表示します。番号はすでに 8192 です。
方法 2 (一時的な使用)
ターミナルに ulimit -n 8192 を直接入力し、Enter キーを押すと OKです。

500 内部サーバー エラー エラー補足:
1. ハードディスクの空き容量がいっぱいですdf -k を使用して、ハードディスクの空き容量がいっぱいかどうかを確認します。ハードドライブの空き容量を増やすと、500 エラーを解決できる場合があります。 nginx でアクセス ログが有効になっている場合、アクセス ログが必要ない場合はアクセス ログを閉じることをお勧めします。アクセスログはハードディスクの容量を多く消費します。
2. nginx 設定ファイルのエラー
これは構文エラーを指すものではなく、nginx の設定ファイルに構文エラーがある場合、起動時にプロンプ​​トが表示されます。書き換えを構成する場合、一部のルールが適切に処理されないと 500 エラーが発生する可能性があります。書き換えルールをよく確認してください。構成ファイル内の一部の変数が不適切に設定されている場合、値のない変数を参照するなど、500 エラーも発生します。
3. 上記の問題がいずれも存在しない場合は、シミュレートされた同時実行数が多すぎる可能性があるため、nginx.conf で同時実行数の設定を調整する必要があります。
解決策は次のとおりです:
1 /etc/security/limits .conf ファイルを開き、2 つの文を追加します。


コードをコピーします。 コードは次のとおりです。

* Soft nofile 65535

* Hard nofile 65535


2 /etc/nginx/nginx.conf を開きます。

worker_processes の下に行を追加します。



コードをコピーします。コードは次のとおりです。

worker_rlimit_nofile 65535 ;

3 nginx を再起動してリロードします 設定を入力します


コードをコピーしますコードは次のとおりです:

kill -9 `ps -ef | grep php | grep -v grep | awk '{print $2}'`

/usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -c 100 -u www-data -f /usr/bin/php-cgi

killall -hup nginx

再起動して再度確認してください。nginx エラー ログには、500 エラーは見つかりませんでした。

4. データベースの問題の可能性があります。nginx ログや php ログには問題がありませんでしたが、最終的にデータベースにアクセスできないことがわかりました。修正後、問題は解決しました。

以上がnginx プロンプト 500 内部サーバー エラーを解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Nginxが開始されるかどうかを確認する方法 Nginxが開始されるかどうかを確認する方法 Apr 14, 2025 pm 01:03 PM

nginxが開始されるかどうかを確認する方法:1。コマンドラインを使用します:SystemCTLステータスnginx(Linux/unix)、netstat -ano | FindStr 80(Windows); 2。ポート80が開いているかどうかを確認します。 3.システムログのnginx起動メッセージを確認します。 4. Nagios、Zabbix、Icingaなどのサードパーティツールを使用します。

Linuxでnginxを開始する方法 Linuxでnginxを開始する方法 Apr 14, 2025 pm 12:51 PM

Linuxでnginxを開始する手順:nginxがインストールされているかどうかを確認します。 systemctlを使用して、nginxを開始してnginxサービスを開始します。 SystemCTLを使用して、NGINXがシステムスタートアップでNGINXの自動起動を有効にすることができます。 SystemCTLステータスNGINXを使用して、スタートアップが成功していることを確認します。 Webブラウザのhttp:// localhostにアクセスして、デフォルトのウェルカムページを表示します。

Windowsでnginxを構成する方法 Windowsでnginxを構成する方法 Apr 14, 2025 pm 12:57 PM

Windowsでnginxを構成する方法は? nginxをインストールし、仮想ホスト構成を作成します。メイン構成ファイルを変更し、仮想ホスト構成を含めます。 nginxを起動またはリロードします。構成をテストし、Webサイトを表示します。 SSLを選択的に有効にし、SSL証明書を構成します。ファイアウォールを選択的に設定して、ポート80および443のトラフィックを許可します。

nginxサーバーを開始する方法 nginxサーバーを開始する方法 Apr 14, 2025 pm 12:27 PM

NGINXサーバーを起動するには、異なるオペレーティングシステムに従って異なる手順が必要です。Linux/UNIXシステム:NGINXパッケージをインストールします(たとえば、APT-GetまたはYumを使用)。 SystemCtlを使用して、NGINXサービスを開始します(たとえば、Sudo SystemCtl Start NGinx)。 Windowsシステム:Windowsバイナリファイルをダウンロードしてインストールします。 nginx.exe実行可能ファイルを使用してnginxを開始します(たとえば、nginx.exe -c conf \ nginx.conf)。どのオペレーティングシステムを使用しても、サーバーIPにアクセスできます

nginx403を解く方法 nginx403を解く方法 Apr 14, 2025 am 10:33 AM

Nginx 403禁止エラーを修正する方法は?ファイルまたはディレクトリの許可を確認します。 2。HTACCESSファイルを確認します。 3. nginx構成ファイルを確認します。 4。nginxを再起動します。他の考えられる原因には、ファイアウォールルール、Selinux設定、またはアプリケーションの問題が含まれます。

Nginxが起動されているかどうかを確認する方法は? Nginxが起動されているかどうかを確認する方法は? Apr 14, 2025 pm 12:48 PM

Linuxでは、次のコマンドを使用して、nginxが起動されるかどうかを確認します。SystemCTLステータスNGINXコマンド出力に基づいて、「アクティブ:アクティブ(実行)」が表示された場合、NGINXが開始されます。 「アクティブ:非アクティブ(dead)」が表示されると、nginxが停止します。

nginx403エラーを解く方法 nginx403エラーを解く方法 Apr 14, 2025 pm 12:54 PM

サーバーには、要求されたリソースにアクセスする許可がなく、NGINX 403エラーが発生します。ソリューションには以下が含まれます。ファイル許可を確認します。 .htaccess構成を確認してください。 nginx構成を確認してください。 SELINUXアクセス許可を構成します。ファイアウォールルールを確認してください。ブラウザの問題、サーバーの障害、その他の可能なエラーなど、他の原因をトラブルシューティングします。

nginx304エラーを解く方法 nginx304エラーを解く方法 Apr 14, 2025 pm 12:45 PM

質問への回答:304変更されていないエラーは、ブラウザがクライアントリクエストの最新リソースバージョンをキャッシュしたことを示しています。解決策:1。ブラウザのキャッシュをクリアします。 2.ブラウザキャッシュを無効にします。 3.クライアントキャッシュを許可するようにnginxを構成します。 4.ファイル許可を確認します。 5.ファイルハッシュを確認します。 6. CDNまたは逆プロキシキャッシュを無効にします。 7。nginxを再起動します。

See all articles