mod_proxy_ajpでApache Tomcat連携

前のエントリーに続きCentOSでJava環境構築シリーズ

Apache2.2になってmod_proxy_ajpを使うようになり、mod_jk(もはや非推奨)の時代より格段に楽になった。

通常CentOSのApache2.2にはモジュールがすでにインストールされた状態なので後はTomcatのインストールと連携の設定をhttpd.confに加えるだけとなる。

Tomcatのインストール

公式サイトからダウンロードして解凍する。/usr/javaに解凍してstartup.shを実行したらそのまま実行できた。
環境変数の設定いらないんだ・・・

一応ブラウザで単体で動くことを確認しておこう

http://サーバIP:8080/

httpd.confの設定

以下の設定をhttpd.confに加えるだけ、LoadModuleの設定は不要だが、
VineLinuxでやるときは必要だったのでコメント行として残しておいた。

#Tomcat Connect Setting
#LoadModule proxy_module modules/mod_proxy.so
#LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
<Location /examples/>
  ProxyPass ajp://127.0.0.1:8009/examples/
</Location>

連携確認

http://サーバIP/examples/

Tomcatのサンプルが出てくればOK

 

CentOS5.2 JDKセットアップ

特に難しいことはない

SunのサイトよりRPMファイルのJDK(原稿執筆時点ではjdk-6u7-linux-i586-rpm.bin)をダウンロードして、
実行権限を付与して、ライセンスに同意するのみ

CentOSではパスの通っているところにシンボリックリンクが作られるので特段設定は必要ない

なおwgetを使ってダウンロードするときにファイル名が長すぎる時は以前のエントリーを参考に対処してほしい

wgetでファイル名が長すぎると出た時

http://rutake.ddo.jp/blog/techmemo/2007/07/wget.html

CentOS5.2 でPHPアクセラレーターAPCを入れる

PHPの高速化として利用されることが多いAPC

早速CentOSでも入れてみた。

前準備

PHPの開発環境とコンパイラが必要なので、rootで以下のコマンド投入

# yum install php-devel.i386

# yum install gcc

# yum install make

いよいよ本番。APCの公式サイトから最新をダウンロードして、
解凍してそのフォルダに移動。以下のコマンドを投入

# phpize
# ./configure –enable-apc
# make
# make install

うまくいけばCentOSの場合下記ディレクトリにモジュールファイルがコピーされる。

/usr/lib/php/modules/

次にphp.iniで設定

vi /etc/php.iniで以下の行を末尾に追記

extension=apc.so
apc.mode = mmap
apc.cachedir = /tmp
apc.check_compiled_source = 1
apc.check_mtime = 1

# service httpd restart

であとはphpinfoでAPCが有効になっていればOK

CentOSでWakeOnLan使ってみる

ディストリビューションによって微妙に違う

vineだとwolってパッケージだったけどCentOSはwakelanというパッケージになる。

yum install wakelan

さくっとインストール後、192.168.0.0/24に対してマジックパケットを投げるなら以下のコマンドを投入

wakelan -b 192.168.1.0 -m マックアドレス

起こす対象のPCがたくさんあるならシェルを作っておくと便利かも

セグメント内のマシンをチェックする IgPing

クラスCのアドレス限定だけども家庭内のPCで利用されているマシンやIPをチェックするのにとても便利なソフト。
場合によっては自分の無線ルータに不正に接続しているPCを発見する用途にも使えるだろう。

立ち上げると一瞬で結果が出てくるのがすばらしい。

http://www.vector.co.jp/soft/winnt/net/se368436.html

CentOS5.2のApacheで静的ページが文字化け AddDefaultCharset UTF-8をコメントアウトせよ

うーむやはり久しぶりなので文字コードにまつわるトラブルが耐えない。
Shift_JISの単なるHTMLページなのに文字化けする。多分HTTPサーバで勝手にCharset変更してやがるのだろうと思って、LiveHttpHeadersでUTF-8担っているのを確認後、httpd.confを探したら以下の記述を見つけた。
AddDefaultCharset UTF-8
というわけでこれをコメントアウトしてhttpd再起動で無事文字化けはなくなった。昔はたしかこれをやるのが当たり前であったのだけども、2.0.53ぐらいからデフォルトコメントアウトされていたと思うが、いまだ残っているとはCentOS恐るべし。まだまだはまりそうだ。

サーバーリプレース

長年親しんだVineLinuxを離れCentOS5.2にて再スタート

しかしながらOSのデフォルト文字コードが違っていたりして結構苦労。
さらにはCentOSネットワーク最小インストールしたため必要なコマンドが入っておらず躓いた。
まだまだ解決しなければならない問題も山積みだが、まぁとりあえず基本部分は移行完了ってことで。

 

Windows XP SP3 インストール失敗 その後

シャットダウンするたびに毎回「更新をインストールしてシャットダウン」がでるようになった。
実は以前にも何かに失敗しておかしくなったWindowsで同じような症状に陥ったことがある。
サービスパック適用失敗したら根本的には再インストールだよな。
それも仕様。さすがMicrosoftクオリティ

サーバ連続稼動記録を妨げる障害

サーバ連続稼働日数記録は今のところ253日という記録がある。
サーバ用のマシンではなく汎用のPCなのでなかなかの大記録。いつもこの記録更新を狙っているのだが、結構邪魔が入る。
まず今年は冷蔵庫搬入のため泣く泣く202日で中断。その後も落雷で停電があったからぎりぎり記録更新ならずってところだったろうか?
後は同居人によるコンセントぶち抜きとかもよくある話。予備サーバをメンテナンスしているつもりでシャットダウンしてしまったりとか(死)
いずれにしても長期稼動はものすごいホコリがたまるのでほどほどにして掃除しましょうという結論