youforce

2ちゃんねる勢いランキングの中の人が書く技術系(?)ブログ

FireFoxでGoogleリーダーが表示されない現象

FireFoxGoogleリーダーを開くとサイドバーは表示されるもののコンテンツが表示されない。
設定ボタンの類いも表示されないのでどうしようもない。
ctrl+F5でもだめ。

「困ったなあ」と思っててバージョンを確認したら12.0→13.0へのバージョンアップが可能とのことで更新したら表示された。

あんまり聞いたことが無いのでもし困っている人がいれば試してみてください。

ApacheからNginxへのリプレイス-その1-(Java+Tocat+MySQL)

NginxのWindowsへのインストール

昨日のエントリーに書いたようにNginxを入れてみました。

まずはローカル開発環境のWindowsマシンへ。
開発機の環境はWindows7(64bit)です。

1.http://nginx.org/en/download.html からWindows版をダウンロード。今回のバージョンはnginx/Windows-1.1.14。
2.適当な場所に解凍。今回はC:\project\nginx-1.1.14へ配置。これだけ。
3.Nginxを起動するにはコマンドプロンプトから以下。(Apacheが起動していると80番ポートがバッティングするので注意)

C:\>cd C:\project\nginx-1.1.14
C:\project\nginx-1.1.14>start nginx

4.停止するにはコマンドプロンプトから以下。

C:\project\nginx-1.1.14>nginx -s stop

5.リロードはこう。

C:\project\nginx-1.1.14>nginx -s reload

6.ヘルプが見れますので一回ぐらい目を通しておきましょう。

C:\project\nginx-1.1.14>nginx -h
nginx version: nginx/1.1.14
Usage: nginx [-?hvVtq] [-s signal] [-c filename] [-p prefix] [-g directives]

Options:
  -?,-h         : this help
  -v            : show version and exit
  -V            : show version and configure options then exit
  -t            : test configuration and exit
  -q            : suppress non-error messages during configuration testing
  -s signal     : send signal to a master process: stop, quit, reopen, reload
  -p prefix     : set prefix path (default: NONE)
  -c filename   : set configuration file (default: conf/nginx.conf)
  -g directives : set global directives out of configuration file
動作確認

http://localhost/ へブラウザからアクセスしてWork It!じゃなくて「Welcome to nginx!」と表示されれば確認完了。

Apacheからのリプレイス

VirtualHostとproxy_pass(リバースプロキシ)

さて本題です。
localhost:8080で口を開けて待っているTomcatにプロキシします。
設定ファイルのnginx.confを修正します。
以下を追記。(local.ikioi2ch.netはhostsで127.0.0.1に向けてあります)

    server {
        listen   *:80;
        server_name local.ikioi2ch.net;
        client_max_body_size 5M;
        access_log  logs/host.local.ikioi2ch.net.access.log combined;
        error_log  logs/host.local.ikioi2ch.net.error.log debug;
        location / {
            proxy_pass http://localhost:8080/;
        }
    }

server_nameにVirtualHostのドメインを書いて、locationのproxy_passにプロキシ先のURLを書く感じです。

nginx -s reload でリロードをして http://local.ikioi2ch.net/ へアクセス。
おお!出ました!
めっちゃ簡単です。ここまでの所要時間15分でした。

あとはmod_rewriteを使っているのでNginxでも代替を設定しないといけなかったり、様々なチューニングは必要ですが、それはまた次回以降に書きます。

JavaでのHttpServletRequest#getRequestURL()の取れるURLの違い

ロジックの中でHttpServletRequest#getRequestURL()を結構使っているのですが、返却されるURLが違っていたのでメモします。
まずはApachehttp://www.localhost/へアクセスした場合。

String requestUrl = request.getRequestURL().toString();
System.out.println(requestUrl);

実行結果

http://www.localhost/

次にNginxで同じくhttp://www.localhost/へアクセスした場合。

String requestUrl = request.getRequestURL().toString();
System.out.println(requestUrl);

実行結果

http://localhost:8080/

つまりApacheはリクエストされたURLがそのまま返却されるのに対して、Nginxではプロキシした後のURLが返却されます。
ここはアプリ側の改修が必要かなと思いました。
ひょっとしたら色々間違っているかもなので何かありましたらご指摘いただければと思います。

そうだNginxにしよう!

Nginxを入れてみたい

2ちゃんねる勢いランキングはApacheTomcatで動いています。
それをNginx+Tomcatにしてしまおうというお話。

Nginxは前からかねがね噂は聞いていまして、やれ「パフォーマンスがいい」だの、やれ「キャッシュがすごい」だのと。

ただなかなか重い腰が上がりませんでした。
それは「今パフォーマンスが悪いのはサーバスペックのせいでしょ?スペック高いマシンに変えたら大丈夫」と思っていたからです。

そしてついにこの前のエントリーにも書いたようにサーバを追加して全体のパフォーマンスは上がったのですが、やっぱり重いときは重いし落ちるときは落ちる。
今後色々と展開していきたい中でこの程度で落ちているようではお話にならないので、何か手を打たなければと思っている時にNginxが候補にあがりましたということです。

とりあえず技術調査から始めましょうかね。

Seasar2も積極的に使ってみる

現在MVCフレームワークはピュアStrutsでO/RマッパーはiBatisという組み合わせ。
これも出来ればリプレイスしたい。
まあまだまだ先のお話。

とりあえずこいつらは読まないと。
という訳で色々とリプレイスしていく計画でした。

Seasar 2 徹底入門 SAStruts/S2JDBC 対応

Seasar 2 徹底入門 SAStruts/S2JDBC 対応

ハイパフォーマンスHTTPサーバ Nginx入門

ハイパフォーマンスHTTPサーバ Nginx入門

MySQL Workbench5.2.37のインストールと日本語化

少し前まではMySQL AdministratorというMySQL管理ツールを使っていました。
PCを新調してしばらく使っていなかったので「そろそろ入れるかな」と思って調べてみたらどうやら「MySQL Workbench」といのに統合された模様。

見てみるとMySQL Administratorの機能はもちろん、SQLエディターやER図作成ツールとかも一緒になってるみたいです。
大きな機能は3種類でしょうか。

MySQL Workbenchの機能(ざっくり)

  • SQL Development
    • SQLエディター的なもの
  • Data Modeling
    • ER図書いたりできるもの
  • Server Administrator
    • MySQL Administratorなもの

とりあえずMySQLを使っている人は入れる価値ありです。

MySQL Workbenchをインストールしてみる

  1. あまりレジストリを汚したくないのでnosinstallをダウンロードします。http://www-jp.mysql.com/downloads/workbench/ の一番下の 「Windows (x86, 32-bit), ZIP Archive」をダウンロードします。
  2. 適当な場所に解凍します。
  3. 解凍したフォルダにある「MySQLWorkbench.exe」から起動します。

MySQL Workbenchを日本語化してみる

  1. OSS_Ja_JPが日本語パッチを作っているのでhttp://sourceforge.jp/projects/oss-ja-jpn/releases/?package_id=10742 からダウンロード。今回は「mysql-workbench-gpl_5.2.34_ja6.tar.gz」を使います。
  2. mysql-workbench-gpl_5.2.34_ja6.tar.gz」を解凍。解凍したフォルダの中に「mysql-workbench-gpl_5.2.34-6_i386.deb」というファイルがあるのでこいつも解凍。Lhasaとかでは解凍できません。7-ZipならOK。
  3. 「\mysql-workbench-gpl_5.2.34-6_i386\data\usr\local\share\mysql-workbench\data」の中にあるファイル(data.dbとか〜.xmlとか)をMySQL Workbenchを配置したフォルダの「\MySQL Workbench 5.2.37 CE\data」に全部コピー。
  4. MySQL Workbenchを起動して日本語化されていることを確認します。

全てのメニューが日本語化される訳ではありませんが使い勝手はかなり向上すると思います。

Eclipseのスペルチェックを無効にするやり方

XMLファイルとかで要素をスペルチェックされて赤い波線が出ちゃうので無効にするやり方。

EclipseのバージョンはIndigo3.7.1。
日本語化してるので英語のままの場合は適宜読み替えてください。

  1. ウィンドウ→設定で設定ウィンドウを開く
  2. 一般→エディター→テキスト・エディター→スペルを選択
  3. 一番上の「スペル・チェックを使用可能にする」のチェックを外す

これでオッケー。
これによって間違えたスペル書いてtypoっちゃっても責任は取れません。