This script enables you to launch your Rails application in production environment (port:80) with Nginx and Unicorn.
Please make sure that your Gemfile in your rails application includes unicorn.
Starman: | |
- Preforking standalone HTTP server | |
- Based on Catalyst::Engine::HTTP::Prefork by Andy Grundma | |
- Ported to Plack by Tatsuhiko Miyagawa | |
- Uses Net::Server::PreFork | |
- Supports HTTP/1.1 | |
- Pipelined requests | |
- Chunked request/response | |
- Keep-Alives | |
- Graceful restart with HUP (No shutdown with QUIT yet) |
Use the MetaCPAN mirror for faster module installs: | |
cpanm --mirror http://cpan.metacpan.org #perl | |
or (courtesy of @doyster) | |
export PERL_CPANM_OPT="--mirror http://cpan.metacpan.org" | |
or as an alias: |
# graphite-web install is hardcoded in setup.cfg to /opt/graphite | |
sudo mkdir /opt/graphite | |
sudo chown brad.users /opt/graphite | |
# run under python2.7 virtualenv | |
virtualenv --python=python2.7 ~/ve/graphite | |
source ~/ve/graphite/bin/activate | |
# install the necessary python packages (simplejson is for flot graphs) | |
pip install graphite-web carbon whisper django django-tagging uwsgi simplejson |
#! /bin/sh | |
### BEGIN INIT INFO | |
# Provides: gunicorn-graphite | |
# Required-Start: $remote_fs $syslog | |
# Required-Stop: $remote_fs $syslog | |
# Should-Start: $nginx | |
# Default-Start: 2 3 4 5 | |
# Default-Stop: 0 1 6 | |
# Short-Description: gunicorn + nginx ubuntu init script | |
# Description: gunicorn + nginx ubuntu init script |
#!/bin/bash | |
SESSION_NAME=tmux-ssh | |
INITIAL_WINDOW_NAME=tmux-ssh-window | |
### セッションの作成 | |
tmux start-server | |
tmux new-session -d -n $INITIAL_WINDOW_NAME -s $SESSION_NAME | |
### 引数で与えられたホストにssh接続 |
コンテナは、軽量な仮想化技術です。これはQemuやVMwareのような完全仮想化に比べると、どちらかというと拡張されたchrootに似ています。なぜなら、コンテナはハードウェアをエミュレートしたりせず、ホストと同じOSを共有するからです。なのでコンテナは、SolarisのzoneやBSDのjailと比べて優れています。Linux-vserverとOpenVZの二つが、現在のところ既に存在している独立して実装されているLinux機能のコンテナ実装です。実はコンテナは、vserverとOpenVZの機能の上位互換を開発するための仕事の延長で登場しました。いくつかのvserverとOpenVZの機能は現在のコンテナではまだ実装されていませんが、コンテナは多くのLinuxディストリビューションを起動(boot)することができ、upstreamカーネルの変更なしで利用することができるという利点があります。
コンテナのユーザー領域の実装には、カーネルの同じ機能を利用した二つの方法があります。Libvirtは、「lxc:///」に接続してLXCドライバー経由でコンテナへのアクセスを許可します。この仕組みは他のドライバーと同じ使い方をサポートしているので、非常に使い勝手の良いものになるでしょう。もう一つのコンテナ実装は、単純に「LXC」と呼ばれるものです。これはlibvirtとは互換性はありませんが、より多くのユーザー領域ツールによってより柔軟に使うことができます。これは、少し混乱を生む特異な部分もありますが、二つのLXC間での入れ替えも可能になります。
このドキュメントでは主にlxcパッケージについて記述します。あとは、ドキュメントの最後の辺りにかけてlibvirt LXCドライバーについても記述します。
このドキュメントでは、コンテナの名前はCN、C1、そしてC2として説明します。
package DBIx::Lite::ResultSet::Role::Slave; | |
use strict; | |
use warnings; | |
use Role::Tiny; | |
around $_ => sub { | |
my ($ORIG, $self, @args) = @_; | |
local $self->{dbix_lite} = $self->{dbix_lite}->master; | |
return $self->$ORIG(@args); | |
} for qw( |