抽選してばばーん!と結果がでるルーレット作った
会社のLT大会で必要になりそうだったので作った。
ルーレット
http://nickworks.net/products/roulette/
一応Githubにもコード上げておいた。
nickworks-net/roulette · GitHub
もし必要な人がいたらぜひ使ってください。
よし寝よう。
nginxでバーチャルホスト設定
前回nginxとFastCGIいれたけどバーチャルホストの設定もしたかったので設定した。
前回の記事:CentOS6.4にnginxとFastCGI入れる - わーくあうと!
設定ファイルを作る
vhost.confというファイルを作って
vi /etc/nginx/conf.d/vhosts.conf
中身はこんな感じにした
# バーチャルホスト用の設定.
# 基本的には /var/www/nginx/vhosts/ の下にホスト名のディレクトリ作るだけでOK.
server {
listen 8080;
server_name ~^(.*)?;
#charset koi8-r;
#access_log /var/log/nginx/log/host.access.log main;
# ↓ホントはホスト毎にアクセスログ分けたかったが $host が効かないようなので諦める。
# mainのログフォーマットに $http_host を付けたからgrepすれば見れるし。
#access_log /var/www/nginx/vhosts/$host/logs/access_log main;
root /var/www/nginx/vhosts/$host/html;
location / {
index index.html index.htm index.php;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
error_page 500 502 503 504 /50x.html;
location = /50x.html {
#root /var/www/nginx/html;
}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME /var/www/nginx/vhosts/$host$fastcgi_script_name;
include fastcgi_params;
}
}
これであとは /var/www/nginx/vhosts/ の下にホスト名のディレクトリ作っていけばバーチャルホスト増やせる。
例)/var/www/nginx/vhost/hoge.domain.com
うん、シンプル。
CentOS6.4にnginxとFastCGI入れる
借りてるVPS鯖にnginxとFastCGIいれたのでメモっておく
FastCGI入れる
php-fastcgiの起動スクリプトを作成
# vi /etc/rc.d/init.d/php-fastcgi
で
#!/bin/sh # # spawn-fcgi Start and stop FastCGI processes # # chkconfig: - 80 20 # description: Spawn FastCGI scripts to be used by web servers # Source function library. . /etc/rc.d/init.d/functions RETVAL=0 SPAWNFCGI="/usr/bin/spawn-fcgi" PHPFCGI="/usr/bin/php-cgi" FCGIPORT="9000" FCGIADDR="127.0.0.1" PHP_FCGI_CHILDREN=5 PHP_FCGI_MAX_REQUESTS=1000 ALLOWED_ENV="PATH USER" USER=nginx GROUP=nginx PIDFILE=/var/run/phpfcgi.pid ALLOWED_ENV="$ALLOWED_ENV PHP_FCGI_CHILDREN PHP_FCGI_MAX_REQUESTS FCGI_WEB_SERVER_ADDRS" case "$1" in start) PHPFCGI_START=$"Starting ${NAME} service: " echo -n $PHPFCGI_START # clean environment E= for i in $ALLOWED_ENV; do E="$E $i=${!i}"; done daemon $SPAWNFCGI -a ${FCGIADDR} -p ${FCGIPORT} -u ${USER} -g ${GROUP} -P ${PIDFILE} -C ${PHP_FCGI_CHILDREN} -f ${PHPFCGI} RETVAL=$? ;; stop) echo -n "Stopping php-fcgi: " killproc -p $PIDFILE phpfcgi echo RETVAL=$? ;; *) echo "Usage: $0 {start|stop}" exit 1 esac exit $RETVAL
これをコピペする。
nginx入れる
nginx公式リポジトリを追加
# rpm -ivh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm
ドキュメントルートにするディレクトリ作成
# mkdir /var/www/nginx # mkdir /var/www/nginx/html
設定ファイル編集
/etc/nginx/conf.d/default.conf
デフォルトで
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log /var/log/nginx/log/host.access.log main;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}
↑こうなってる内容を
server {
listen 8080;
server_name localhost;
#charset koi8-r;
#access_log /var/log/nginx/log/host.access.log main;
root /var/www/nginx/html;
location / {
#root /var/www/nginx/html;
index index.html index.htm index.php;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
#root /var/www/nginx/html;
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
#root html;
fastcgi_pass 127.0.0.1:9000;
#fastcgi_index index.php;
#fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}
↑このように編集した。
CentOS6.4のPHPを5.4にアップグレードしようとしてやめた話
借りてるVPS鯖のPHPのバージョンが5.3(普通にyumで入れた)で、せっかくなので5.4にでもしようかなと下記の記事を参考に入れてた
■CentOS6.4にサードパーティレポジトリを追加して、PHP5.4とかいれてた - otukutunの日記
要はremiやらepelやらのサードパーティリポジトリ追加してそこから入れるんだけど、よくよく考えたらあとからphpのモジュール追加するときも
yum install --enablerepo=remi php-なんちゃら
とかしないとだめなんだよなぁと思ってやっぱ5.3に戻した。
後々絶対忘れる自信があったので。。
デフォルトで使うリポジトリをサードパーティ製のものにすれば解決っちゃ解決だけどそれも微妙だし。
というお話でした。
pm2のインストールでこける件
node.jsをデーモン化するにはforeverよりpm2のほうが高機能でいいよという噂を耳にしたのでpm2を入れようとしたら失敗した。
$npm install -g pm2 〜省略〜 > usage@0.3.9 install /root/.nvm/v0.10.22/lib/node_modules/pm2/node_modules/usage > node-gyp rebuild gyp ERR! build error gyp ERR! stack Error: not found: make gyp ERR! stack at F (/root/.nvm/v0.10.22/lib/node_modules/npm/node_modules/which/which.js:43:28) gyp ERR! stack at E (/root/.nvm/v0.10.22/lib/node_modules/npm/node_modules/which/which.js:46:29) gyp ERR! stack at /root/.nvm/v0.10.22/lib/node_modules/npm/node_modules/which/which.js:57:16 gyp ERR! stack at Object.oncomplete (fs.js:107:15) gyp ERR! System Linux 2.6.32-358.2.1.el6.x86_64 gyp ERR! command "node" "/root/.nvm/v0.10.22/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" gyp ERR! cwd /root/.nvm/v0.10.22/lib/node_modules/pm2/node_modules/usage gyp ERR! node -v v0.10.22 gyp ERR! node-gyp -v v0.11.0 gyp ERR! not ok npm ERR! usage@0.3.9 install: `node-gyp rebuild` npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the usage@0.3.9 install script. npm ERR! This is most likely a problem with the usage package, npm ERR! not with npm itself. npm ERR! Tell the author that this fails on your system: npm ERR! node-gyp rebuild npm ERR! You can get their info via: npm ERR! npm owner ls usage npm ERR! There is likely additional logging output above. npm ERR! System Linux 2.6.32-358.2.1.el6.x86_64 npm ERR! command "/root/.nvm/v0.10.22/bin/node" "/root/.nvm/v0.10.22/bin/npm" "install" "-g" "pm2" npm ERR! cwd /var/www/chat-server npm ERR! node -v v0.10.22 npm ERR! npm -v 1.3.14 npm ERR! code ELIFECYCLE npm http 200 https://registry.npmjs.org/keypress npm http GET https://registry.npmjs.org/keypress/-/keypress-0.1.0.tgz npm http 200 https://registry.npmjs.org/keypress/-/keypress-0.1.0.tgz npm ERR! npm ERR! Additional logging details can be found in: npm ERR! /var/www/chat-server/npm-debug.log npm ERR! not ok code 0
こんなエラー。
makeが無いとか言ってるけど、まぁとりあえず Development Tools 入れてみるかーと思い以下をインストール
$ yum groupinstall "Development tools"
それで
$ npm install -g pm2
したらインストール成功した。
CentOSにnode.jsをnvmでインストール
自分の開発VPS鯖にnvmでnode.js入れたけど忘れそうなのでメモっておく。
nvmのインストール
$ git clone git://github.com/creationix/nvm.git ~/.nvm $ source ~/.nvm/nvm.sh
nodeのインストール
$ nvm install v0.10.22
確認
$ which node /root/.nvm/v0.10.22/bin/node $ which npm /root/.nvm/v0.10.22/bin/npm
食事がめんどくさい
食べるのは好きだしお腹も減るけど何食べるか考えて作ったり買い物に行くのがめんどくさい。
作る手間とかも無くて、とりあえずこれ食っておけば栄養的におっけー!ってな物があれば最高なんだがー。
まさにソイレントのような物が日本であればいいんだけどな。
でもソイレントって本当にあれだけで生きていけんのかな。
実際にソイレントだけで生活した人のレポートだとうんこ白くなるとかあった気がするけど。まだちょっと不安。
で、最近はできるだけ手間を掛けないようにと
- フルーツグラノーラ
- カップヌードル
を箱買いしてみた。
牛乳も通販で買いたいけど買っていいのかな。スーパーとかで賞味期限が一番長いものを奥から取って買うタイプの人間だから通販で牛乳買うと古いやつ送られてくるんじゃないかと不安。とりあえず一度試してみようか。
まあそれは置いといて最近の食生活が
- 寝起き・・・フルーツグラノーラ in 牛乳
- メイン・・・???
- 夜食・・・カップヌードル
こんなふうになっていて(朝/昼/夜 と書かないのはその日のテンションによって活動時間帯が変わるからです…)、メインどうしようか悩んでる。
要求としては
- 調理したくない
- 買い物にも行きたくない
- 栄養的に問題ない
- なるべく安くすめば嬉しい
なんだけど結局どうしようどうしようと毎日考えながらラーメン食べに行ったりほっともっとで弁当買ったりになっちゃう。
うーんうーん
さらにいうと夜食のカップヌードルも体に悪そうだからやめたいと思ってる。
カップラーメンを食べるとビタミンが壊れるとかカルシウムが破壊されてイライラしやすくなるとか(信頼できるソースはないんですが)聞くので怖いなって。
なんかいい方法ないかなー
もう一日に必要な栄養素調べて通販で買える即席食品だけでそれを満たすメニュー作って試しにそれだけで生活してみようか。
でもそのメニュー作るのめんどくさい。
誰かそんなメニュー作って公開してないのかな。
ちょっと探してみよう。
調べた。
怪しいサプリメントが出てきたりでなんか疲れた。
もういいやとりあえず今日はこんなところで。
WEBサーバーとDBサーバーは分けるべきか
http://anond.hatelabo.jp/20130922195049
読んだ。
こうやって自分でサービスを作って運用している人の軌跡を見るのが大好きです。
ノウハウを吸収できるのはもちらん、僕自身のやる気アップにもなるし。
で、
あと現在WEBサーバーとDBサーバーを分けていますがサーバー関係に詳しい知人に分ける必要はないと言われました。
むしろわけない方がいいと。
詳しい方いらっしゃいましたら教えて頂けたら有難いです
について、これは本当と言えば本当ですが状況によっては嘘になるかと。
ある程度の規模(=WEB鯖一台で対応できるレベル)まではオールインワンなサーバーのほうがいいです。
WEBサーバーとDBサーバーが物理的に離れているとその間の通信に時間がかかるためです。
しかしその『ある程度の規模』を超えてくるとスケールしなくちゃならないので、そうなるとWEBサーバーとDBサーバーを分ける必要があります。
つまり
- ある程度の規模まで・・・オールインワンサーバー
- それ以上の規模 ・・・分ける必要あり
です。
この元増田のサイトはこれからもどんどんアクセス上がっていきそうなので、今後WEBサーバーを増やしていくことを見据えて現状のWEBサーバーとDBサーバーを分けた構成のままでいいんじゃないかなと思います。
転出届を郵送でやった
先日以前住んでいた川崎の部屋の更新があったのでそのタイミングで実家のある新潟へ引っ越してきたのですが、転出届の手続きをしてくるのを忘れてしまいました・・・。
転出届を知らない人のために説明すると、引越しで住所を変更するためには
- 引越す前の管轄の区(市)役所から転出証明書をもらう。
- 引越し後の管轄の区(市)役所へ転入の手続きをする。
という段階が必要で、これの転出の手続きを忘れてきたのでした。
引越し後だけでいいじゃん!役所間で連携とっていい感じにやっておいてよ!と思うのですがどうしても必要らしいです。
また新幹線代1万円払って川崎まで行くのはだるいなーと思ってたらこれ郵送でできるらしいのでやってみました。
・転出届(市外へ転出する場合の届出)を郵便・信書便で行う場合の方法について知りたい。
↑に貼ったリンクは川崎市のものですが、『転出届 郵送 [市町村名]』とかで検索すればきっと出てくると思います。
必要なもの
- 転出証明書の申請書
- 本人確認書類
- 返信用封筒
大まかに上記のモノが必要です。
申請書はレポート用紙のようなものでOKだったり、本人確認書類は写真付きのものがない場合2種類必要だったりしますが細かい説明は省きます。
それぞれの市町村のホームページを見てください。