Unix関連活用日記(旧Solaris_x86活用日記)

macOSやFreeBSD,Linuxを中心とした内容に変更
(自称Solarisエバンジェリスト)

サーバ公開で,はまった

2010年01月20日 10時29分44秒 | 各種サーバ設定
フレッツ光ネクストファミリー・ハイスピードタイプに変更してから,思わぬボトルネックが発覚。
(これで,ほぼ徹夜状態になってしまった。)
今回のキャリア変更に伴って,動的IPアドレスによる接続と固定IPアドレスによる同時2セッションの接続が可能となった。
まず,”はまった”根本的な原因は,これまでの環境では発覚していなかった。
まだ,フレッツに移行して間もないためにレスポンスの違いがよく分からない。
速度計測サイトで調べた範囲では,大差ない数値が出た。
ボトルネックというのは,これまで公開していたウェブサーバのレスポンスが極端に悪化した。
それも,トップのページにアクセスするときに限ってだ。
当初,ローカルドメインの名前解決を疑った。
このウェブサーバでは,LAN内からのアクセスをスムーズにするためにDNSサーバを立ち上げている。
まず,最初の”はまり”だが,NTTからレンタルされたPR-A300NE(Ver.4.67)では,LAN側DNSサーバアドレスを設定できる。
そこに,先のウェブサーバのIPアドレスを記述したが,正常に名前解決できなかった。
これまで,正常に稼働していたので,サーバを疑うことなく,このルータを疑ったために,”はまって”しまった。
更に,このルータではローカルドメイン設定ができる。しかし,何度設定しても,IPアドレスが範囲外だというエラーが表示されて設定ができなかった。
2chに同様の現象で困った人がいて,それに対してその設定はBフレッツではできないようなので,もしかしてIPv6のアドレスの可能性があるので,試しにダミーのアドレスをいれてみたら・・・という書き込みがあった。
実際に試してみたら,ビンゴ!でした。
しかし,どこにもIPv6のアドレスとは書かれていない。
多分,そこまでの使い方をするカスタマはいないだろうと踏んで,記述を省略したんだろう。
さて,困った。これじゃルータで名前解決の手段がとれない。
そしていよいよ,ウェブサーバのBINDを調べてみたら,正常に逆引きが取れていなかった。
そして,namedデーモンのステータスも正常でないことが判明した。
ここまでに,かなりの時間を要した。
いずれこのマシンのOSを入れ替える予定があるので,この問題は棚上げにして,マルチセッションでの2つのドメイン利用を試みた。

まず,静的IPマスカレード設定で,それぞれの接続をそれぞれのサーバに振り分ける。
そして,静的ルーティング設定でそれぞれのマシンがそれぞれの接続としか通信できないように設定した。
見事,一本の光回線で2つのドメインを利用することができた。
この設定の詳細は後日,備忘録を兼ねてアップしたいと思う。
実は先のウェブサーバの”はまり”の原因は,もう一つあった。
2つのマシンで外部からアクセスを試みたら,やはり,トップのページにアクセスする際にもたつきがあった。
トップのページにはcgiでアクセスカウンタを設置してある。
ひょっとして,名前解決ができていない関係でこのcgiが”はまって”いる可能性があるので,cgiの呼び出し方法を変更したら,見事ビンゴ!
これで,やりたかったことができた。
あとは,SolarisのIPマルチパッシングを試してみたい。
私のような環境で稼働させていることをアップしたサイトを見たことがないので,これもうまくいったら,是非公開したいと思う。

Postgresql-7.2.2-3

2005年01月23日 16時55分16秒 | 各種サーバ設定
まず、postgresユーザになる。
# su - postgres
デフォルトの文字エンコードをEUC_JPにする。
$ initdb -E EUC_JP
/usr/bin/postmaster -D /var/lib/pgsql/data
or
/usr/bin/pg_ctl -D /var/lib/pgsql/data -l logfile start

ルートになって、デーモンを起動する。
$ su -
# /etc/init.d/postgresql start
# exit
再度、postgresに戻り、データベースを新規に作成する。
$ createdb NewDB
CREATE NewDB
と表示されれば、成功!
$ pgsql NewDB
$ psql NewDB
NewDB=# \l
で、
Name | Owner | Encoding
--------+-----------+-----------
NewDB | postgres | EUC_JP
となっていることを確認する。
$ vi pg_hba.conf
最下行に
host all 192.168.1.0 255.255.255.0 trust
を追加する。
pgaccess やインターネットを通じてWebアクセスを可能にするため、
$ vi postgresql.conf
#tcpip_socket = false

tcpip_socket = true
に変更する。