2008-07-28[n年前へ]
■ニッチなニッチな個人サーバ構成を図解する
下の図は、「ニッチなニッチな個人サーバ」の構成を図解になります。何が「ニッチなニッチ」かというと、個人でサーバを動かしていて・ソフトウェアやネットワークとはほぼ無縁の生活をしていて(何しろApacheの綴りをすべてApachと間違えて書いているくらいです)・それでいて、コンテンツ提供のサーバソフトを自分でいじったりしている・・・という状況を、とりあえず「ニッチ」としてみたのです。
hirax.netはそんな「ニッチなニッチな個人サーバ」であるわけですが、そのサーバ構成をふと図解してみました。というのは、あまりにサーバ構成がツギハギだらけになってきて、自サーバを整理するために、サーバ間の繋がり・関係を(自分のために)図解してみたのです。
hirax.netは現状4台のサーバで動いています。「大容量ファイル配信」「小さな静的ファイル配信」「メインコンテンツ配信用のRailsアプリを動かす mongrelクラスタ」「いくつかの実験サービスを動かすRails アプリを動かすmongrelクラスタ」「SQLサーバ」「各種数値演算用サーバ」「画像処理サーバ」といったもを、それぞれのPCに役割分散することで動いています。役割分散させると管理が面倒なので、いずれは、まったく同じ機能・同じ構成の仮想サーバにでも処理を分散させるようにしたいのですが、なかなか、そんな再構築作業ができないでいます。
そもそも、「ニッチなニッチな個人サーバ」ですから、そんな増改築は本来必要でないように思いますが、遊びがてら色々増改築を繰り返してきた結果、こんな古い温泉街の老舗ホテルのような、あるいは、四国かどこかにあるという「軍艦島マンション」のような入り組んだ手作りサーバ構成になってしまいました。
「Rails入門書を読んだ勢いで、個人サーバ用のアプリをRailsで書いて、自アプリでサーバ運用する人」も少なくないだろう、と思います。便利なブログツールやサーバもたくさんあるわけですが、(素人ながらも)自分で何か作ってみたくなり、適当に動かしている人もチラホラいるだろう、と思います。そんな「素人が手軽に動かすことができるお手軽・気軽なサーバ構成」は、一体どういうものなんでしょうか。他の方々のサーバは「軍艦島マンション」構成にはなってはいないものなのでしょうか……。
2009-07-17[n年前へ]
■WEBサーバ・アプリを「少し」改造しました
hirax.netが動いているWEBサーバのアプリを少し改造しました。改造した点は、「少し」はキャッシュを使うようにしたというところです。改造した理由はサーバの負荷を軽くし・読む側の待ち時間を短くするため、です。
といっても、大幅な作り直しは面倒だったので、結局、「少し」の手直しだけで済ませてしまいました。その結果、残念ながら、「少し」の効果しか出ていないようにも思われます。今さらながらに、「Railsで開発するときにはキャッシュを予め想定に入れておく」ということの重要さを感じさせられました。
現状、hirax.net内のページでは、最新記事一覧や、関連記事一覧などを表示するために、RJSを多く使っています。そうした、RJSを吐くActionを(改造が面倒だったので、そのまま)ファイル・キャッシュさせようとして、少しはまってしまいました。RJSを吐くActionのキャッシュ・ファイルをApacheで送出する場合、そのままではContent typeが"text/plain"になってしまいます。そこで、mod_rewiteで、Content typeを"text/javascript"に書き換えてやらないと、RJSを送出するActionをファイルキャッシュで置き換えることができなかった、というのが(ハマりの)「大雑把なあらすじ」になります。他にも、Urlエンコードされた日本語がURLに入っていると、キャッシュファイルが文字化けしたり…といったあたりにも、はまりました(そして、対策をすることをあきらめてしまいました)。
やはり、コントローラから作り直した方が良いのだろうと思います。しかし、10年前からあるURL構造をそのまま使いまわすことを念頭に置くと、キャッシュがきちんと働くように作り直すのはなかなか面倒そうで、時折「少し」の手直しをする程度になってしまいそうです。とはいえ、トータルの作業量は、(少しの手直しを繰り返すより)作り直した方がずっと少なかったりすることもよくある、ようにも感じるのですが…。
2009-09-09[n年前へ]
■「はてなスタイルシートを使えるJSLocalWiki」をダウンロードできるようにしました
「JSLocalWikiを改造し、綺麗なお気に入りノートを作ってみよう」で書いた、「はてなの(GPLライセンスにもとづいている)スタイルシートを使うことができるようにし、同時に、簡単な設定を前もってしたJSLocalWiki」をダウンロードできるようにしましたここにおいてあるJSLocalWiki_0_1_2_h.lzh(3.2MB)です。ダウンロードしたらフォルダを解凍し、”JSLocalWiki.html”をブラウザで開くだけで(あるいは、JSLocalWiki.htaを動かすだけで)、綺麗なWikiシステムが動き出します。デザインを変えたければ、CSSスタイルシートを指定している部分を「気に入ったスタイルシート」に変えてやれば、簡単に好きなデザインに変えることができます。右上の画像は、hatena_ryukyu-green.cssを適用した場合の動作画面例です(配布状態でのデフォルト設定)。
WindowsのFirefoxやInternetExplorer環境下で動きます。それ以外の環境では、パス指定文字や(IE対応のため)Shift-Jis指定にした部分を変えてやれば、多分、動くと思います(Windowsを使っていないような人は、別に「簡単」「綺麗」でなくてもいいもんね、と考えていたりもしそうですが)。
ライセンスは、添付スタイルシートはGPLライセンス、改造版JSLocalWiki.html・JSLocalWiki.htaは、ApacheライセンスVer2.0に従います。
2009-09-17[n年前へ]
■さよなら・レンタル・サーバ
9月末で、hirax.net用のレンタル・サーバを解約します。といっても、すでに先月半ばから自前サーバにDNSは移行させていましたので、実際にはすでにサーバ移行がされている状態です。
ある程度不安定でも構わない(時折落ちていても構わない)WEBサーバは自前サーバで運用し、安定でないと困るメールサーバはGoogle Appsを使い(MXレコードをGoogle Appsのものに変え)、hirax.netを動かしています。
昨日、『レンタルサーバを「捨てる技術」』という記事を読みました。
ここのところ、レンタルサーバや自宅サーバはつくづく「レガシー」だよなと思うようになりました。我々は普段、何の気なしにレンタルサーバや自宅サーバにデータをロックインしていますが、そのたびに次から次へと提供される新しいサービスを利用する機会を無意識に失っていっているのではないか、こうしたサーバに支払う対価以上に機会の喪失という対価を支払っているのではないか、そんな疑念が頭をもたげてきたのです。まだ、今の段階では、「レガシーな自宅サーバ」を捨てることはできそうにありません。けれど、とりあえず「レンタル・サーバ」は捨てました。・・・とはいえ、それが一歩前進なのか、実は後退だったりするのかはよくわかりません。
「サーバ買ったり借りたりしたら負けかなと思う」
さて、「ある程度不安定でも構わない(時折落ちていても構わない)」と思っていたWEBサーバですが、想像以上に不安定になりました。そこで、今日はhttpdの監視&再起動プログラムをRubyで書き、動かし始めました。明日からはもう少し安定してくれると良いなと思いつつ、これまで長年サーバとして動いてくれたレンタル・サーバ・マシンに感謝する今日この頃です。
2010-10-16[n年前へ]
■Apache向けRailsアプリケーション実装モジュール「Phusion Passenger 3.0」
Apache向けRailsアプリケーション実装モジュール「Phusion Passenger 3.0」
Phusion PassengerはApache HTTP ServerおよびNginx向けのモジュール。これを利用することで、ApacheやNginxといったWebサーバーでRuby on RailsやRackベースのアプリケーションを実行できる。使いやすさにフォーカスしており、Ruby向けの特別なサーバー設定も不要という。