サーバーのインストールでは、oneinstack ワンクリック インストール パッケージ、lnmpa (Linux + Nginx + MySQL + PHP + Apache) https://oneinstack.com/ を使用します。
プログラムは discuz3.2 (http://www.liuxuesheng8.com/) を実行します。
新しい投稿を公開して送信すると、次のメッセージが表示されるエラーが発生しました:
このページは機能しません
bbs.liuxuesheng8.com は現在このリクエストを処理できません。
HTTP エラー 500
< /p>
しかし、コンテンツは確かにデータベースに書き込まれていますが、Web サイトのページを再度開くと、新しい投稿が送信された状態で、上の図に示されているページに留まっています。これは非常に奇妙です。
次に、サーバー ログを確認します。このログは、access_log、post 500 エラーにのみ表示されますが、Apache および openresty ログには対応するエラー ログがありません。この場合、どこで確認できますか? 500の理由はわかりますか? ? ?
- - [29/Apr/2017:18:27:03 +0800] "POST /forum.php?mod=post&action=newthread&fid=70&extra=&topicsubmit=yes HTTP/1.0" 500 -
< /p>
明らかに、あなたのエラーはnginxに関連しています。
nginx は 500 と表示されますが、一般に次のような状況があります:
ハードディスクの空き容量がいっぱいです (df -lh でディスクの使用状況がチェックされ、nginx が配置されているディレクトリが 100% 占有されています)。 nginx でアクセス ログが有効になっている場合、アクセス ログが必要ないときはアクセス ログを閉じることをお勧めします。アクセスログはハードディスクの容量を多く消費します。
nginx設定ファイルエラー
書き換えを設定する際、一部のルールが適切に処理されていない場合、500エラーが発生します。独自の書き換えルールを確認してください。構成ファイル内の一部の変数が不適切に設定されている場合、値のない変数を参照するなど、500 エラーも発生します。
同時実行の問題、サーバーが処理できません
ファイルオープンハンドルが小さすぎます。サーバーの同時実行テストを行うと、サーバーへの負荷が高いため、一部のリクエストが 500 であることがよくあります。その理由は、 nginx が使用できるファイル ハンドルが小さすぎるため、各リクエストがハンドルを占有します。
Apacheとphpのエラー出力をオンにします。
Apache、nginx、php のエラー ログには、この post500 エラーに関連するものは何もありません、、、非常に奇妙です
3階の人が言ったことはあり得る
書き換え機能が設定されているため、投稿を開いたときに書き換えが有効にならない場合があります。リンクをもう一度クリックすると、書き換えが有効になります。 。 。理由としては、投稿を送信した後にリンクを書き換える必要があり、現時点ではサーバーが書き換えることができないため、該当ページでスタックしているものの、データはデータベースに書き込まれているためだと推測します
PHP コードはエラーを報告する場合がありますが、設定エラー出力がない場合は 500 エラーも報告します。 PHP エラーをログ形式で出力するように構成を変更してみることができます。