2010/01/20(水)SpeedyCGI(PersistentPerl)がいい感じ

2010/01/20 18:51 覚え書き
SpeedyCGI、いままで知りませんでした…。
一部CGIに導入してみたところ、動作がかなり軽快に。
厳密には名前は知ってたんだけど、mod_perl、FastCGIとよく並べてられているから、まあ似たようなもんなんだろうと思って無視してました。まさか導入がこんなに楽なものだったとは。
詳しくは↓この辺をどうぞ。
SpeedyCGI - CGIスクリプトを常駐させて実行することによりスピードアップさせます
PersistentPerl(SpeedyCGI)のメモ
Perl CGIのキャッシュ環境 - adiary開発日誌
速度的にはmod_perlのが上だけど大差ない模様。十分スピードアップできますし、楽なのでおすすめ。まあ、昨日使い始めたばかりなので、もしかするといろいろ問題点が出てくるかもしれませんが、いまのところは快適です。
mod_perl化しなきゃな~とか思いながらなんかいろいろ面倒なので先延ばししていたんですが、もうmod_perlのことは忘れます(笑。

ちなみに「-gオプションでグループ化すればメモリ節約できる」とのことなので、よくわからないまま片っ端からグループ化していたのですが、CGIじゃなくてcronから実行するplプログラムに対して-gオプションを使ったらプロセス数が無限に増えていってサーバダウンという有様に。.cgiと.plを同じグループにしちゃいけないのかな?詳しく調べていないのでなんとも言えませんが、とりあえず.plはグループ化しないようにしたら大丈夫でした。
ご参考に。

2009/11/17(火)AmazonEC2でCentOSのイメージを作ってみた

2009/11/20 17:18 覚え書き
Amazon EC2が気になっていたので使ってみました。サーバ環境をソフトウェア的にコピーして増やしたり減らしたりできるのはかなり魅力だったので。
全部英語なのがネックかと思ってましたが、自分用のAMIを作るところまで、時間はかかりましたがそれほど苦労することなくできました。

参考にした図書はこちら。
asin:4822234371
クラウド Amazon EC2/S3のすべて~実践者から学ぶ設計/構築/運用ノウハウ~ (ITpro BOOKs)
基本的なところは網羅的にまとまっていてわかりやすいです。英語に抵抗がある方に特におすすめ。

で、自分用にカスタマイズしたサーバ環境のイメージを作ることになるわけですが、これについても手順をかなり詳しくまとめてくださっている方がいるので、これらを見ればほとんど問題なく進めます。感謝!(下記手順ではyum-xen.confのところでCentOS5.2で作ってますが、軒並み404 Not Foundになるので5.3にしたらOKでした。)

■Amazon EC2用Centos5イメージを作って、EC2上で動作させてみる
http://ulc.jp/wp/archives/349

■AmazonEC2応用編-自作のCentOS5のOSイメージをS3にバックアップする。http://ulc.jp/wp/archives/537

■[僕] Amazon EC2 用に自分で CentOS 5 のイメージを用意する
http://vkgtaro.jp/2008/11/10/amazon_ec2_centos5

使ってみた感想としては米国にあるのでやはりアクセスが若干遅く、SSHではカーソルを移動するたびに若干ひっかかる感じ。これはちょっとストレスかなと思い、実運用はまだ先でいいかと思ったのですが、来年2010年からシンガポールにデータセンターが設置されるとのこと!シンガポールならもうすこし快適に使えそうです。しかしシンガポールはいろいろ発展著しいですね。

晴れてシンガポールに設置されたら何か1つサービスをAmazonEC2上に引っ越して展開してみようと思います。作ったサーバイメージはそれまで止めときます。こういう判断ができるのも従量制課金のおかげ。
価格的にはそれほど高くも安くもないといったところでしょうか。年間契約だと半額程度になるのでかなりお得感はあります。

ちなみに管理画面がJavascript使いまくりのせいかIEだとやたら重たくて話にならないんですが、Firefox使ったら結構サクサク動きました。

2009/10/29(木)mod_perl2インストールメモ書き

2009/10/29 19:24 覚え書き
mod_perlのインストール。ちょっとつまった上に、検索してもわかりやすい手順がまとまっているページが見つからなかったのでメモしとく。CentOS4です。

1.まず、バージョン。

httpd -v
で確認。
apache1.xにはmod_perl
apache2.xにはmod_perl2と決まってる。

2.ApacheがDSO対応か確認。

httpd -l
で、「mod_so.c」 が表示される事を確認。ない場合どうするかはわかんないので調べてください。

3.Apache拡張機能を使うためにapxsが必要です。

httpd-develに入ってるのでhttpd-develごとインストールしとく。
yum install httpd-devel

4.mod_perl2をダウンロード

wget http://perl.apache.org/dist/mod_perl-2.0-current.tar.gz

5.解凍したらインストール

perl Makefile.PL MP_APXS=/path/to/apxs
make
make test
make install
途中で
************* WARNING *************
Your Perl is configured to link against libgdbm,
but libgdbm.so was not found.
You could just symlink it to /usr/lib64/libgdbm.so.2.0.0
************* WARNING *************
とか出たら/usr/lib64/以下にlibgdbm.soがないよ!ってことなのでlibgdbm.so.2.0.0へシンボリックリンクを張る。
ln -s /usr/lib64/libgdbm.so.2.0.0 /usr/lib64/libgdbm.so

Unable to determine server version, aborting.
Invalid MP_APXS specified?
と出る場合はapxsが入ってません。

For details on getting started with mod_perl 2,
   :
   :
が出ればインストールは成功です。

6.httpd.confをに設定を追記

LoadModule perl_module modules/mod_perl.so
<Files *.[好きな拡張子]>
SetHandler perl-script
PerlHandler ModPerl::Registry
PerlSendHeader On
Options +ExecCGI
</Files>
[好きな拡張子]で設定した拡張子でmod_perlが動きます。すでに.cgiがいろいろある場合は.cgiを指定すると一気にmod_perl環境になっちゃって動かなかったりすると困るので.mplとか新しい拡張子にするのも吉。

7.Apacheを再起動

再起動時にmodule perl_module is already loaded, skippingと出た場合、6.の先頭のLoadModule~~の行記述は不要。

8.適当なスクリプトで動かしてみましょう。

ちなみにmod_perlでsuExecは使えないみたいなのでスクリプトの権限は705とかその辺。

以上。
こちらも参考に。
http://d.hatena.ne.jp/masutaro/20081023/1224752242

2009/10/17(土)SSLピンキリ

2009/10/22 20:07 覚え書き
SSLをいろいろ調べてみた。
有名どころのベリサインから、ジオトラスト、GlobalSign、RapidSSLまで。
この順で高い。
ベリサインは年間¥80,000程度~。
RapidSSLは年間¥6,000程度~。(今キャンペーン中で¥3,000~)
あまりに値段が違うので安いのは相当危険なんだろうか、なんて最初は考えてたんだけど、特に暗号化強度に差はなく、主に下記2点が価格差になってる模様。
対応端末の幅広さ
PCブラウザは低価格のSSLでもだいたいカバーしてるけど、携帯電話を考慮するとやはり高いSSLの方が対応機種が広いらしい。特に古い携帯は。
実在証明
高いSSL証明書は、サイトを運営している会社が合法的な存在で、偽物などではないことまで保証してくれる。そのため登記簿謄本が必要な場合も。対する安価なSSLは暗号化するだけ。運営元がまっとうな会社かフィッシングサイトかは知らん、と。
通信を暗号化したい、ってだけなら別に安価なものでも安かろう悪かろうってことはなさそう。あとはブランドなんでしょうね。ベリサインのマーク貼ってある安心感とか。
しかし証明書ってみんなあんまりちゃんと見てないだろうし、「証明書に問題があるけどいい?」→「はい」を押すって流れが習慣化している現在、実在証明なんかはあんまり意味をなしてないような。

というわけで個人が小さくはじめたり、ネットショップで導入するなら低価格のものでもOKそうです。

詳しく知りたい人はSSL 価格差でどうぞ。

2009/07/27(月)adiaryのテキストエリアがIE8でずれまくる

2009/07/27 21:33 覚え書き
adiaryお試し中。
で、インストールしたんだけどIE8で見ると記事投稿欄やコメント投稿欄など、テキストエリアが全部ずれていて、周辺の文字やボタンとかぶってしまってる。
なんだこりゃ?これじゃまともに投稿すらできない!
と思っていろいろ調べたのでメモ。

どうやらIE8にはテキストエリアに何か入力するとテキストエリアが動いてしまう、という変なバグが元々あって、それにadiary側が対処するためのjavascriptを埋め込んでいるんだけど、そのバグ対策用のjavascriptのせいでかえってズレが生じている、という状況っぽい。
そもそもテキストエリアが入力するたびに動いてしまうというバグはうちのIE8環境では確認されてないので、このjavascriptをオフにすることにした。

adiaryのthemeディレクトリ直下のadiary.jsの
ここをコメントアウト↓

2009/06/07(日)PerlでProduct Advertising APIへの対応

2009/06/07 16:41 覚え書き
Amazon Webサービスの利用に署名による認証が必要になるということで、いろいろ試してみてうまく行ったのでメモ。

(ここのメモはPerlの場合です。)

具体的にどうすればいいのか、は↓こちらが最もわかりやすかった。
手順を踏んで解説してくれています。
[を] アマゾンAPIを使うのに2009年8月15日から認証が必要になるらしい

で、モジュールを作ってくれている方がいるので活用しましょう。
今のところこの2つのみかな?
404 Blog Not Found:perl - URI::Amazon::APA released!
知らないことがあってもへっちゃらさ: 「Amazon Product Advertising API」 にリクエストする Perl モジュールを書いてみた

で、自分で実装するにしろ上記モジュールを使うにしろ、HMAC SHA256??という技術を使うために下記モジュールが必要。

Digest::SHA
または
Digest::SHA::PurePerl

Perl5.10だと標準で「Digest::SHA」が入ってるみたいですけど、そうでない場合は自分でインストール。「Digest::SHA::PurePerl」は置くだけで使えるので、共用レンタルサーバとかでも使えてお手軽。

以上。

2009/01/29(木)ネットサービス運営にいいかも?低価格VPSサーバを比較検討してみた。

2009/01/29 21:20 覚え書き
VPS(仮想専用サーバ)が気になったのでいろいろ調べてみた。
ちなみにVPS(Virtual private server)というのは一台のサーバ上に複数の仮想サーバを稼働させて貸し出すことで、共用なのにroot権限がもらえて専用サーバのように利用できるレンタルサーバのサービス。

ネットサービスを運営する場合、サーバはいろいろいじれた方がいいのですが、どれだけ流行るかわからないサービスのためにいきなり専用サーバを借りるのもコスト的に無理があるし、一般的な共有型レンタルサーバだと物足りないし、可能なら自前でサーバを立てるのが一番良さそうだけど障害対策のための多重化とか考え出すと結構負担になりそうだし、というわけでVPSってネットサービスを開発運営するのにはちょうどいいんじゃないだろうか、と思っていろいろ調べてみたら個人で借りられそうな低価格なのも結構あったので、まとめてみた。

(この表は2009年1月29日時点のものです)
 1st使えるねっとWILL@NETCPIWeb keepersファーストサーバ
プランpersonalシルバーVL-10VS-01VPSライトプロビジネス5
月額1,800(年契約)2,480(2年契約)1,980(半年契約)1,890(年契約)980(年契約)945(3ヶ月契約)
最短契約2,400(3ヶ月)2,980(1ヶ月)1,980(半年契約)2,310(3ヶ月)1,480(1ヶ月)945(3ヶ月契約)
初期費用4,8005,2505,2509,8704,8005,250
容量10GB20GB10GB10GB10GB2GB
メモリ128MB~256MB256MB256MB180MB8GB192MB
管理ソフトwebminplesk30ドメplesk1ドメParallels PowerPanelplesk1ドメwebmin
OSCentOS4CentOS53種から選択可CentOS5CentOS5CentOS5

使えるねっとの「plesk30ドメイン」以外は複数ドメインの管理には管理ツールが使えないっぽいので自分でSSHとかで設定するみたい。
Webkeepersのメモリ8GBってのはたぶん全員分?
1stとファーストってまぎらわしいな…。