OrangeGardenRoom

技術系のメモ

squidが起動するけど動かない

現状構成は、[ルータ] — [サーバ] — [PC]。

 

サーバにはUbuntuがインストールされてます。

squidはパッケージインストールではなく、ソースからコンパイルしてインストールしている。

Ubuntu起動時はsquidが起動している。

ポート3128がちゃんとlistenしている。

PCからサイトにアクセスすると、ページが表示されません、とでる。

すぐnetstatしてみると、3128へアクセスしてTIME WAIT中。

 

そして3128のlistenが消える……。

 

 

 

色々原因探究する必要があるが、まず再起動とかしてみる。

 

サービスが消えているので、起動してみる。

そのままservice squid startをすると、already startedとか出るので、pidファイルは消えていない、ってことでどうやら強制終了している様子。

 

 

service squid statusとかすると、そんなプロセスありませんってでる。

 

squid: ERROR: Could not send signal 0 to process 27197: (3) No such process

 

確かにnetstatしても、psで確認しても出てこないんだからその通り。

 

 

service squid stopをすると、やけに待たされたあとエラー。

/etc/init.d/squidを見ると、120回停止思考するようだ。

当然もうプロセスが存在しないのでエラーになるが、pidファイルがこれで削除される。

 

 

 

このあと、service squid startをすると、起動する。

3128もlistenする。

 

そして冒頭の繰り返しとなる。

 

 

 

 

結論だけいうと、squidのログの肥大化によるエラだった。

 

何がおかしいんだろう?とエラーを探ってみようと、/var/logを探ってみたが、access.logとsquidclamav.logしかなかった。

 

実際のログを見つけたのはsquid.pidを探していたとき。

/etc/squidの中にあるはず、と探していたら、おもむろに/etc/squid/var/logsとディレクトリを手繰れた。

squid.pidもこの中にあったが、ここにあったstore.logが2.1GBあった。

 

 

tailしてみると、最後の行が、変なところで、あからさまに切れている。

 

これは、ログ処理でエラーか?と、思って削除して、作成し直し、サービスを再起動。

PCでアクセスしたところ、正常にYahooの画面が現れた……。

 

 

 

前もやらかした覚えがあったけど忘れていたので、メモ代わりに印しておく。

当たり前のことなんだけど、logrotate忘れないようにしないとね……。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です