2010年12月29日

ServersMan@VPS から さくらのVPS へ乗り換え

ServersMan@VPS はユーザに root 権限を与えているのに事あるごとに触られて怖いので無料期間内にさくらのVPSへ乗り換えることにした。ServersMan@VPS の時は当時 CentOS と Debian しか選べなかったので Debian にしたが、さくらは色々選べるので Ubuntu の 64bit 版を入れることにした。

OSのインストールが終わったら、まずは vim を使えるようにする。
sudo apt-get install vim-nox
あとは以前使っていた vim の設定ファイルを配置する。vim に関しては初心者なので詳しい設定とかはなく、マウス使えるようにしたりとか、他のサイトを参考にして作った簡単なファイル。
vim ~/.vimrc
set number
set autoindent
set ruler
set tabstop=2
filetype plugin on
syntax on

if &term =~ "^screen"
  augroup MyAutoCmd
    autocmd VimLeave * :set mouse=
  augroup END
  set ttymouse=xterm2
endif

if has('gui_running')
  set mousemodel=popup
  set nomousefocus
  set mousehide
endif

set mouse=a

nmap <F2> :w<CR>
nmap <F9> :w<CR>:make<CR>
nmap <F5> :w<CR>:!!<CR>

imap <F2> <ESC>:w<CR>i
imap <F9> <ESC>:w<CR>:make<CR>
imap <F5> <ESC>:w<CR>:!!<CR>
これだけ。

あとは ServersMan@VPS で動いていた作曲できる奴ちょっとこいのデータで遊ぶを動かすために必要な nginx、php5-fpm を入れれば完了。
nginx と php5-fpm のインストールに関してはこちらの記事を参考にさせてもらい難なく成功した(余談だけどさくらのVPSが重いという件の対策は既に済んだ状態のUbuntuがインストールされていた)。nginx の設定は基本的にはこちらの記事を参考に構成。ただし想定外のHostヘッダなどでアクセスされた場合などの設定はこうした。
server {
        listen 80 default_server;
        server_name "";
        return 404;
}
試しに telnet コマンドでポート80番に繋いで、HTTP/1.0 と HTTP/1.1 で Host ヘッダに適当なドメインを入れてアクセスしてみて、正しく 404 が返ってくるのを確認。
最初は HTTP/1.0 でリクエストされた時は 505 HTTP Version not supported を返答しようとしたのだが、どうも return 505; では正しい結果を返していないようだったので 404 のみにした。

その他、以前は諸事情で HAProxy を使っていたのだが、今回の場合は nginx で十分なので HAProxy を使わずに nginx でリバースプロクシの設定をした。
location /random_lyric {
        proxy_pass http://127.0.0.1:ポート番号;
}
あとは golang 製の歌詞生成サーバを走らせれば完成。が、以前 Debian 32bit だったのに Ubuntu 64bit にしてしまったのでバイナリをそのまま持ち込んでもうまく動かないため、結局仮想マシンにもうひとつ Ubuntu 64bit を用意して、そこでコンパイルしたバイナリを持ち込んでいる。
現状このバイナリは sudo -u www-data して nohup で走らせているので、この辺も何とかしたいところ。

ほとんどアクセスがないとはいえ外部向けにサイトも公開し始めたし、そろそろサーバ監視の類も本格的に考え始めよう。
もちろん本来はその順番じゃダメだろうという話ではある。
Clip to Evernote