仕事編

PublicDNSを使ってみた

ネットワークの挙動が安定しなかったので新しいルーターに買い替えました。 新しいルーターはもちろんDNSのキャッシュが溜まっているはずもなく、しかも使っているプロバイダのDNS正引きが遅いということもあり、PublicDNSを使ってみることにしました。 DNS…

Centos + nginx + WordPress

仕事でWordPressを入れる作業したのでメモ。nginxのインストールは以前書いたので省略。 http://work.castleman-blog.com/entry/20110826/1314364283 1.yumで各種インストール # yum install mysql-server php php-mysql php-mbstring php-fpm 2.MySQL設定 #…

「WEB+DB PRESS」電子書籍化

いまさらなんですが、「WEB+DB PRESS」って電子書籍化されてたんですね。WEB+DB PRESS Vol.80 | Gihyo Digital Publishing web技術雑誌として有名な本です。 以前は会社で毎号「WEB+DB PRESS」と「Software Design」を読んでいたんですが、買って置いていて…

さくらのVPS2台をPoundで負荷分散

まず、さくらVPS2台をローカルネットでつなげます。 やり方は前回書いたので参考にしてください。 さくらVPSでローカルネットワーク設定 - 城好きwebプログラマーの生態メモ - 仕事編 今回は下記の環境で、server1にPoundをインストールして分散処理するよう…

さくらVPSでローカルネットワーク設定

さくらのVPSでサーバー同士のローカルネットが可能なったので試してみます。 今回はVPSを2台用意して、その2台間での接続を試してみます。 VPSの申し込み ローカルネットを使うには、2012年3月29日以降申込したもので同リージョンにあるものしかできないので…

Archive::Zipでのshiftjis変換でハマる

* Archive::Zipのバージョン1.33現在Archive::Zipを使ってzipファイル作る際にwindows環境を考えてshiftjisに文字コード変換した上で作成しようとしたらハマってしまったのでメモ。 my $zip = Archive::Zip->new; $zip->addTree($dir); for my $member ( $zi…

node.jsでmemcachedを使う

node.jsでmemcachedを使う方法を書いていきます。まずはインストール。 $ npm install memcache 実際の使い方は var host = "localhost"; var port = "11211"; var memcached = require("memcache"); var client = new memcached.Client( port, host ); clie…

node.jsでpostgresqlを使う

node.jsでpostgresqlを使う方法を書いていきます。使うモジュールはpgです。まずはインストール。 $ npm install pg 実際の使い方は var pg = require("pg"); var dns = "tcp://username:@localhost:5432/dbname"; pg.connect(dns, function(err, client) { …

nginx + proxy cache

nginxでプロキシキャッシュの方法を書きます。レスポンスのボディを任意のディレクトリ内に保存し、次回以降のアクセスから保存したデータを返すという仕組みです。 これを使うと負荷の面でだいぶ助けられます。 では実際の使い方を示します。 http { proxy_…

Apacheはいらず、abはいる

ベンチマークとるのにabコマンドというものが存在します。 $ ab -n 100 -c 20 http://kojinbaibai.bundlebox.jp/こんな感じで、ページ単位のベンチマークをとるもので、webサーバーのチェックなどをする時に重宝しています。ただ一つ問題がありまして、このa…

nginxでブラウザ判別

nginxでブラウザを判別する方法を書きます。例としてIE8以下でアクセスした場合、別URLにリダイレクトさせる設定を示します。 modern_browser unlisted; ancient_browser "MSIE 4.0" "MSIE 5.0" "MSIE 5.5" "MSIE 6.0" "MSIE 7.0" "MSIE 8.0"; location / { …

サブドメイン間のセッション共有

複数のサブドメイン間でセッションを共有させる方法を紹介します。 1つのアカウントで複数のドメインのアプリケーションを使えるようにしたいときなどに必須となってきます。たびたび例に出して申し訳ないんですが、私が作っているプロジェクトBundleBoxもサ…

ログ監視

webアプリケーションを実際に運用していく上で必須なのがログの監視です。 エラーが出ているのを知らずに放っておくなんて危険です。アプリ内で400番、500番台のエラーが出ていた場合にメールでお知らせしてくれるスクリプトを紹介します。 専用のツールもあ…

nginx基本設定

nginxの設定を書いていきます。 nginxとは軽量で高速で数年前から徐々にシェアをのばしつつwebサーバーです。 インストール まずインストールなんですが、過去記事に書いたのでそちらの方を見てください。 webサーバー初期設定 - Linux編 - 城好きwebプログ…

daemontoolsによるwebアプリケーション管理

作成したアプリケーションのデーモンを管理していく方法を紹介します。 アプリケーションだけではなくログ監視ツールなど、デーモン化しないといけないものを管理するのに長けています。 インストール 以前パッケージによるインストール方法は紹介しました。…

perlによるwebアプリケーション作成手順 - Catalyst編 - その2

続きです。perlによるwebアプリケーション作成手順 - Catalyst編 - その1 - 城好きwebプログラマーの生態メモ前回はSampleというアプリを作成して試しに起動させるところまで出来ました。 今回はアプリで処理を書き始める前の初期設定を書いていきます。 ロ…

perlによるwebアプリケーション作成手順 - Catalyst編 - その1

実際にperlでwebアプリケーションを作るにあったての初期の手順を書いていきます。perlの環境作りは以前書いた、webサーバー初期設定 - perl編 - 城好きwebプログラマーの生態メモこれに基づきます。今回はフレームワークにCatalystを使います。 数年前から…

webサーバー初期設定 - perl編

前回書いたwebサーバー初期設定 - Linux編 - 城好きwebプログラマーの生態メモに続き、perlでの初期設定にも記述しておきます perlbrew perlのバージョン管理。 今回はサーバー全体で共有できるようにしておきます。 # curl -LO http://xrl.us/perlbrew # ch…

webサーバー初期設定 - Linux編

さくらのVPSを仕事、プライベート問わず借りることが多いのでLinux側の初期設定のメモ sudo sudoのコンフィグファイルにおいてグループ:wheelにsudo権限を付加するようにします。 # visudo %wheel ALL=(ALL) ALL実際にsudo権限を付加したいユーザーにグルー…

rootパスワードを忘れたら?

rootのパスワードを忘れた場合はどうしたらいいのか? 先日その状況におちいってしまったのでまとめておきます シングルユーザーモードでパスワードを変更する これは非常に簡単。 起動してすぐのOS選択画面でkernelの最後に半角スペースをあけて「single」…

web画面をキャプチャーする方法

仕事でweb画面のキャプチャーをとらないといけなくなってイロイロ調べてみました。web画面をキャプチャーする方法はいくつかあって、例えば外部サービスのSimpleAPIとかHeartRails Captureとか利用する手もあります。単純なものだったらこれですみそうなんだ…