Skip to content

Instantly share code, notes, and snippets.

@glassesfactory
Created September 4, 2011 14:37
Show Gist options
  • Save glassesfactory/1192936 to your computer and use it in GitHub Desktop.
Save glassesfactory/1192936 to your computer and use it in GitHub Desktop.
とりあえず OS いれてから nginx + redis + node.js + supervisor 入れるまでの作業ログ
#OS Ubuntu Server 11.04
#ハード構成: Core2Duo 2Core(多分) メモリ:1024MB HDD:30GB
#自宅鯖に kvm で仮想環境作って動かしちょります。
#nginx いれるよ
$ sudo apt-get install build-essential
$ sudo adduser nginx --home=/var/www --shell=/sbin/nologin
$ mkdir src
$ cd src
$ wget wget http://nginx.org/download/nginx-1.0.6.tar.gz
#必要なもじゅーるをインストール
$ sudo apt-get install openssl libpcre3 libpcre3-dev libssl-dev zlib1g zlib1g-dev git make curl
$ git clone https://github.com/yaoweibin/nginx_tcp_proxy_module.git
$ tar zxvf nginx-1.0.6.tar.gz
$ cd nginx-1.0.6
#tcp_proxy のパッチあてる
#このパッチを当てることで websocket がリバースプロキシできるようになるらしい
$ patch -p1 < ../nginx_tcp_proxy_module/tcp.patch
$ ./configure --prefix=/usr/local/nginx-1.0.6 --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --pid-path=/var/run/nginx/nginx.pid --lock-path=/var/lock/nginx.lock --user=nginx --group=nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-http_realip_module --with-http_dav_module --with-http_flv_module --http-log-path=/var/log/nginx/access.log --http-client-body-temp-path=/var/tmp/nginx/client/ --http-proxy-temp-path=/var/tmp/nginx/proxy/ --http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ --add-module=../nginx_tcp_proxy_module/
$ make
$ sudo make install
$ cd /var/www
$ sudo mkdir html
$ cd ../tmp
$ mkdir nginx
$ sudo chown nginx nginx
$ sudo mkdir nginx/{proxy,client,fcgi}
$ sudo ln -s /usr/local/nginx-1.0.6 /usr/local/nginx
#こんふまわり
$ sudo vim /etc/nginx/nginx.conf
$ cd /etc/nginx
$ sudo mkdir sites-available
$ cd sites-available
$ sudo vim node.conf
#node.js ぶっこむ
$ cd ~/src
$ wget http://nodejs.org/dist/node-v0.4.9.tar.gz
$ tar xzf node-v0.4.9.tar.gz
$ cd node-v0.4.9
$ ./configure
$ make
$ sudo make install
#npm いれる
$ sudo curl http://npmjs.org/install.sh | sudo sh
#使いそうな奴入れる
$ sudo npm install socket.io express qs ejs mime coffee-script connect node-inspector
$ sudo npm install node-dev -g
#作業領域作る
$ cd /var/www
$ sudo mkdir dev
$ cd dev
$ sudo mkdir app www
$ sudo vim server.js
$ sudo chmod 777 /var/www/dev
$ sudo chmod 755 server.js
#redis いれるよ
$ cd ~/src
$ wget http://redis.googlecode.com/files/redis-2.2.12.tar.gz
$ tar zxf redis-2.2.12.tar.gz
$ cd redis-2.2.12
$ make
$ sudo make install
$ cd ../
$ wget https://github.com/ijonas/dotfiles/raw/master/etc/init.d/redis-server
$ wget https://github.com/ijonas/dotfiles/raw/master/etc/redis.conf
$ sudo mv redis-server /etc/init.d/redis-server
$ sudo chmod +x /etc/init.d/redis-server
$ sudo mv redis.conf /etc/redis.conf
$ sudo adduser redis --home=/var/www --shell=/sbin/nologin
$ sudo mkdir -p /var/lib/redis
$ sudo mkdir -p /var/log/redis
$ sudo chown redis.redis /var/lib/redis
$ sudo chown redis.redis /var/log/redis
$ sudo update-rc.d redis-server defaults
$ cd
#redis 周りのもじゅーるをいれる
$ sudo npm install async redis redis-client connect-redis simplesets
#pythonbrew いれる
$ curl -kL http://github.com/utahta/pythonbrew/raw/master/pythonbrew-install | bash
$ echo "source ~/.pythonbrew/etc/bashrc" >> ~/.bashrc
$ source ~/.bashrc
$ sudo apt-get install libbz2-dev
$ pybrew install 2.7.2
$ pythonbrew switch 2.7.2
#supervisord いれるのに pybrew が有効になってるとうまく行かんかった :-(
$ pythonbrew off
$ cd
#デフォルトの python 環境をちょっと整えるw
$ wget http://peak.telecommunity.com/dist/ez_setup.py
$ sudo python ez_setup.py
#supervisord いれるよ
$ sudo easy_install pip supervisor
$ sudo echo_supervisord_conf > supervisord.conf
$ vim supervisord.conf
$ sudo cp supervisord.conf /etc/supervisord.conf
$ sudo easy_install gunicorn
$ cd /etc/init.d/
#supervisord の init スクリプト
$ sudo vim supervisord.conf
$ sudo chmod +x /etc/init.d/supervisord
$ sudo update-rc.d supervisord defaults
$ /etc/init.d/supervisord start
#nginx の daemon off
$ sudo vim /etc/nginx/nginx.conf
#nginx を supervisord の管理下におく
$ cd /etc/
$ sudo mkdir supervisord
$ cd supervisord
$ sudo vim supervisord_nginx.conf
$ sudo vim /etc/supervisord.conf
$ sudo chmod 755 supervisord_nginx.conf
$ sudo /etc/init.d/supervisord restart
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment