0

php は、2 番目のサーバー上のデータベースを使用して Web サーバー上で GIF を生成します。ページには 20 個の GIF が表示されるため、短時間の負荷がかかります (複数の接続)。


一部の GIF は読み込まれますが、一部は読み込まれません。/var/www/logs/error_log

[Mon Feb 23 10:05:56 2009] [エラー] PHP 警告: mysql_connect() [function.mysql-connect]: 「初期通信パケットの読み取り中」で MySQL サーバーへの接続が失われました。システム エラー: /htdocs/ の 0。 ../myImage.php 4 行目
[2009 年 2 月 23 日月曜日 10:05:56] [エラー] PHP 致命的なエラー: 「初期通信パケットの読み取り中」で MySQL サーバーへの接続が失われました。システム エラー: 4 行目の /htdocs/.../myImage.php の 0

私が/var/www/logs/error_log見つけたMySQLサーバーで:

[アラート] httpd: ServerName に 127.0.0.1 を使用して、サーバーの完全修飾ドメイン名を特定できませんでした

MySQLサーバーを再起動すると、問題が「解決」されます...数日間。

2 つのサーバーは、OpenBSD、chroot された Apache、および MySQL + phpMyAdmin を実行する仮想マシンです。残念ながら異なるバージョン (OpenBSD 4.2(web) と 3.9(mysql)) で

/var/www/conf/httpd.confand my.cnf(見つけられなかった)に関する私の知識 は非常に限られています。
何か案は ?

4

2 に答える 2

1

「サーバーの完全修飾ドメイン名を特定できませんでした」というエラーは無視できます。これは内部的な問題です。

http://dev.mysql.com/doc/refman/5.0/en/error-lost-connection.htmlおよびhttp://bugs.mysql.com/bug.php?id=28359によると、これは遅いように聞こえますネットワーク、または接続に十分な速度で応答できない過負荷のmysql。

再起動すると問題が解決することを考えると、リソースリークが遅いと推測します。おそらく、高価なクエリのようなものがmysqlで実行されたままになっています。システムの負荷を経時的に追跡することで、これを確認できるはずです。

于 2009-03-27T23:20:08.887 に答える
1

resolv.confをchrootに入れてみましたか?そのような:

mkdir -p /var/www/etc/ && cp -p /etc/resolv.conf /var/www/etc/

Webサーバーの時間がタイムゾーンから外れていることがわかった場合は、/ etc/localtimeについても同じことを行うことをお勧めします。

ノート:

  • chrootでは機能しないため、シンボリックリンクは使用しないでください
  • chrootでファイルを変更すると、/ etc内のファイルが変更されるため、ハードリンクを使用しないでください。
于 2009-03-27T23:33:21.553 に答える