基本ここに書いてある通りでできるけど、いちおうまとめ。
https://newrelic.com/docs/python/python-agent-and-heroku
(1)new_relicをインストールする
ローカル環境にいちおういれる
$ pip install newrelic
heroku上の環境にいれるためにrequirements.txtに以下を追記
newrelic
commitしてherokuにアップする
$ git add requirements.txt
$ git commit -m "hogehoge"
$ git push heroku master
(2)herokuのNEW_RELICアドオンを追加する
$ heroku addons:add newrelic:standard
これをやるだけでnew relic上に自動的にアカウント発行される模様。
ほんと便利。
(3)ちゃんと入ったか確認する
$ heroku run env | grep NEW_RELIC
これで、newrelicのアカウント情報が表示されればOK
テストスクリプトを流す
$ heroku run newrelic-admin validate-config - stdout
*stdoutのハイフンの前にスペースがいるから注意
流したらherokuのWeb画面にログインして
自分のアプリケーションのAddonからNEWRelicを選ぶと
NewRelicの管理画面がでる。
Python Agent Test というのが出てればOK。だと思う。
(4)自分のアプリの監視をする
procfileを編集する。
gunicornを使ってる場合は以下のように書き換えるだけでOK
(変更前)web: gunicorn -b 0.0.0.0:$PORT hogeApp:app
(変更後)web: newrelic-admin run-program gunicorn -b 0.0.0.0:$PORT hogeApp:app
(5)procfileをherokuにアップする
git でpush
おわり
2012年5月19日土曜日
Ubuntu10.04にHerokuコマンドをいれる
Ruby環境をRVMでセットアップした後にいれる
●RVMインストール
$ bash -s stable < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer)
●.bashrcに以下を追記
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"
●.bashrc反映
$ source $HOME/.bashrc
●RVMの依存パッケージを確認し、足りないものがあればいれる
$ rvm list
●今回はpatchが無かったのでPacthだけいれた
$ sudo aptitude install patch
●ruby1.9.2を入れる
$ rvm install 1.9.2 --with-iconv-dir=$HOME/.rvm
●入れたRubyをデフォルトで使うのにする
$ rvm use ruby-1.9.2-p320 --default
●このRuby用のsetつくる
$ rvm --create 1.9.2@myset
●herokuインストール$ gem install heroku --no-ri --no-rdoc
ここまでで基本的には使えるようになる。
が、これだとコマンドライン使えない。たとえばlogsすると
$ heroku logs
こんなエラーがでる
$HOME/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require': no such file to load -- readline (LoadError)
ので、もう少し作業がいる。
●インストールした場所のreadlineに移動
cd $HOME/.rvm/src/ruby-1.9.2-p320/ext/readline/
●チェック
$ ruby extconf.rb
checking for tgetnum() in -lncurses... no
checking for tgetnum() in -ltermcap... no
checking for tgetnum() in -lcurses... no
checking for readline/readline.h... no
checking for editline/readline.h... no
ということで上のを全部入れるために
$ sudo aptitude install libncurses5-dev libreadline5-dev
●で作りなおし。。
make
make install
●GEMSETも作りなおし
$ rvm --create 1.9.2@myset
$ gem install heroku --no-ri --no-rdoc
これでHerokuコマンドがちゃんと使える
●RVMインストール
$ bash -s stable < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer)
●.bashrcに以下を追記
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"
●.bashrc反映
$ source $HOME/.bashrc
●RVMの依存パッケージを確認し、足りないものがあればいれる
$ rvm list
●今回はpatchが無かったのでPacthだけいれた
$ sudo aptitude install patch
●ruby1.9.2を入れる
$ rvm install 1.9.2 --with-iconv-dir=$HOME/.rvm
●入れたRubyをデフォルトで使うのにする
$ rvm use ruby-1.9.2-p320 --default
●このRuby用のsetつくる
$ rvm --create 1.9.2@myset
●herokuインストール$ gem install heroku --no-ri --no-rdoc
ここまでで基本的には使えるようになる。
が、これだとコマンドライン使えない。たとえばlogsすると
$ heroku logs
こんなエラーがでる
$HOME/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require': no such file to load -- readline (LoadError)
ので、もう少し作業がいる。
●インストールした場所のreadlineに移動
cd $HOME/.rvm/src/ruby-1.9.2-p320/ext/readline/
●チェック
$ ruby extconf.rb
checking for tgetnum() in -lncurses... no
checking for tgetnum() in -ltermcap... no
checking for tgetnum() in -lcurses... no
checking for readline/readline.h... no
checking for editline/readline.h... no
ということで上のを全部入れるために
$ sudo aptitude install libncurses5-dev libreadline5-dev
●で作りなおし。。
make
make install
●GEMSETも作りなおし
$ rvm --create 1.9.2@myset
$ gem install heroku --no-ri --no-rdoc
これでHerokuコマンドがちゃんと使える
2012年3月24日土曜日
macOSX Lion にPostgrewSQLをいれる
PostgreSQLインストール
homebrewからインストールする
brew install postgresql
curl http://nextmarvel.net/blog/downloads/fixBrewLionPostgres.sh | sh
*http://nextmarvel.net/blog/2011/09/brew-install-postgresql-on-os-x-lion/
*以下の.bashrcいじるのでもいいかも
*http://blog.k-jee.com/2012/01/mac-os-x-lionhomebrewpostgresql.html
DB初期化
initdb /usr/local/var/postgres
サーバーの起動と停止
pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
pg_ctl -D /usr/local/var/postgres stop -s -m fast
PHPPgAdminのインストール
http://www.pgadmin.org/download/macosx.php
postgresユーザーの作成
createuser <ユーザ名>
http://www.tencs.net/tech/tips/postgresql_createuser.html
homebrewからインストールする
brew install postgresql
curl http://nextmarvel.net/blog/downloads/fixBrewLionPostgres.sh | sh
*http://nextmarvel.net/blog/2011/09/brew-install-postgresql-on-os-x-lion/
*以下の.bashrcいじるのでもいいかも
*http://blog.k-jee.com/2012/01/mac-os-x-lionhomebrewpostgresql.html
DB初期化
initdb /usr/local/var/postgres
サーバーの起動と停止
pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
pg_ctl -D /usr/local/var/postgres stop -s -m fast
PHPPgAdminのインストール
http://www.pgadmin.org/download/macosx.php
postgresユーザーの作成
createuser <ユーザ名>
http://www.tencs.net/tech/tips/postgresql_createuser.html
.sqlファイルからのデータインポート
psql -U postgres -f XXX.sql
psql -U postgres -f XXX.sql
参考)
http://d.hatena.ne.jp/noodles_mtb/20110805/1312509838
http://blog.k-jee.com/2012/01/mac-os-x-lionhomebrewpostgresql.html
http://nextmarvel.net/blog/2011/09/brew-install-postgresql-on-os-x-lion/
mac OSX Lion でherokuが使えるようにする
rubyの複数バージョンをいれるために rvmをいれる
bash -s stable < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer)
.bashrcに追記
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"
.bashrcで反映
source .bashrc
rvm install 1.9.2 --with-gcc=clang
*なんかエラーはいたけど無視
rvm use 1.9.2 --default
rvm gemset作成
rvm --create 1.9.2@hogehoge
herokuをいれる
gem install heroku --no-ri --no-rdoc
macOSX Lionにpythonをいれてpythonbrewで開発環境つくる
パッケージインストールはmacportではなく、homebrewを使う
homebrewのインストール
/usr/bin/ruby -e "$(/usr/bin/curl -fsSL https://raw.github.com/mxcl/homebrew/master/Library/Contributions/install_homebrew.rb)"
pythonbrewのインストール
curl -kL http://xrl.us/pythonbrewinstall | bash
*testでこけるので-fでオプションで強制的にいれる
使いたいバージョンのpythonに変更
$ pybrew switch 2.7.2
*バージョンだけ指定すれば変わる
pybrewのvenvを使って仮想環境構築
$ pybrew venv create hoge
$ pybrew venv list -a
$ pybrew venv use hoge
$ pybrew venv delete hoge
pipも同時に入るので仮想環境をactiveにした状態で
あとはpipで好きなものをいれる
VirtualEnvじゃなくて、pythonbrewのvenv使う方がよいから消した
pipのインストール
sudo easy_install pip
virtualenv, virtualenwrapperのインストール
sudo pip install virtualenv
sudo pip install virtualenvwrapper
.bashrcを編集してvirtualenvを便利に
vi $HOME/.bashrc
以下を追記
## Python virtualenvwrapper
export WORKON_HOME=$HOME/.virtualenvs
if [ -f /usr/local/bin/virtualenvwrapper.sh ]; then
source /usr/local/bin/virtualenvwrapper.sh
fi
## Python pip -> virtualenv only
export PIP_REQUIRE_VIRTUALENV=true
export PIP_RESPECT_VIRTUALENV=true
Env環境保存用のディリレクトリを作成
mkdir $HOME/.virtualenvs
インストールしたpython(python2.7.2)を使ってenv環境を構築する
pythonのバージョンを切り替える
pythonbrew switch 2.7.2
環境をつくる
mkvirtualenv --no-site-package env
homebrewのインストール
/usr/bin/ruby -e "$(/usr/bin/curl -fsSL https://raw.github.com/mxcl/homebrew/master/Library/Contributions/install_homebrew.rb)"
pythonbrewのインストール
curl -kL http://xrl.us/pythonbrewinstall | bash
.bashrcに追記
vi $HOME/.bashrc
source /Users/hoge/.pythonbrew/etc/bashrc
source .bashrc
python2.7.2, 3.2のインストール
pybrew install -f 2.7.2*testでこけるので-fでオプションで強制的にいれる
使いたいバージョンのpythonに変更
$ pybrew switch 2.7.2
*バージョンだけ指定すれば変わる
pybrewのvenvを使って仮想環境構築
$ pybrew venv create hoge
$ pybrew venv list -a
$ pybrew venv use hoge
$ pybrew venv delete hoge
pipも同時に入るので仮想環境をactiveにした状態で
あとはpipで好きなものをいれる
VirtualEnvじゃなくて、pythonbrewのvenv使う方がよいから消した
(参考)
http://d.hatena.ne.jp/mfks17/20111231/1325344431
http://www.ninxit.com/blog/2011/07/22/pythonbrew-python-2/
http://www.ninxit.com/blog/2011/07/22/pythonbrew-python-2/
virtualenv環境にpsycopg2をインストールする
virtualEnv環境にいれようとするとエラーになるらしい
pip install psycopg2==2.4.2
Error: pg_config executable not found.
以下をいれてからならインストールできました
sudo apt-get install libpq-dev python-dev
pip install psycopg2
Successfully installed psycopg2
(参考)
ubuntu10.04にpostgreSQLとPHPPgAdminをいれる
■postgresqlのインストール
sudo apt-get install postgresql
sudo passwd postgres
su postgres
psql
postgres=# alter user postgres with password 'password';
(参考)
http://ubuntu-note.blog.so-net.ne.jp/2010-12-01
■phppgadminのインストール
sudo apt-get install apache2
sudo /etc/init.d/apache restart
sudo apt-get install postgresql
sudo passwd postgres
su postgres
psql
postgres=# alter user postgres with password 'password';
(参考)
http://ubuntu-note.blog.so-net.ne.jp/2010-12-01
■phppgadminのインストール
sudo apt-get install apache2
sudo /etc/init.d/apache restart
なんかapache2がはいってなかったので入れた
sudo apt-get install phppgadmin
phppgadminのインストール
以下は細かい設定
/etc/phppgadmin/apache.conf でApacheアクセスを制限。
(※基本必要ない。見れないならAllow ALL)
/etc/phppgadmin/config.inc.php で phpPgAdmin を設定。
※postgresを許可したりする
$conf['extra_login_security'] = false;
/etc/postgresql/8.4/main/pg_hba.conf で PostgreSQL を設定。
※TCP(IP4アクセスをTrustする)
■PHPの設定
前に書いたコレ。
sudo vi /etc/php5/apache2/php.ini
で以下のMAX値を大きいファイルをあげれるように大き目の数値にしとく
php.iniの修正内容
post_max_size = 20M
upload_max_filesize = 18M
ubuntu10.04にherokuコマンドをいれて既存プロジェクトをgit cloneする
前提として、ubuntuにruby1.9.1とgem1.8が入ってる
※無理やりいれる方法ココ
http://fusigi-movement.blogspot.jp/2012/03/ubuntu1004ruby191gem.html
sudo gem install heroku
herokuをインストールする
sudo apt-get install libopenssl-ruby1.9.1
herokuと打つとlibopenssl-rubyが必要と言われたのでインストールする
heroku -v
2.22.0
できた
既存のプロジェクトのソースはherokuに上がっているので
キーを作成し、キーをherokuに登録し、herokuからファイルを取ってくる
mkdir $HOME/.ssh
cd $HOME/.ssh
ssh-keygen -t rsa
鍵を作成する
heroku keys:add
鍵をherokuに登録する
git clone git@heroku.com:hogehoge.git
herokuからソースをクローンする
できた
ubuntu10.04にruby1.9.1をいれてgemを最新にする
herokuのコマンドをインストールしたいんだが、herokuのコマンドがrubyでできてることもあって、ローカル環境のrubyとかgemのバージョンが古いと色々と文句言われる。
ので、ubuntu10.04にruby1.9.1をいれて、さらにgemを最新にする。
rubyの知識が皆無な上に、そもそも俄かプログラマーなんで、かなりゴリっとやってる気がするので、もっとエレガントな方法が知りたい。。
■rubyのインストール
sudo aptitude install ruby
これで入るのはruby1.8なんでaptitude見つかる最新の1.9を入れる。
sudo aptitude install ruby-1.9.1
1.9のインストール
ruby -vすると当たり前だけど1.8見てるので、シンボリックで無理やり1.9.1を見るようにする。
このやり方が、きっと相当イマイチなんで、エレガントな方法知りたい。。
sudo mv /usr/bin/ruby /usr/bin/ruby.old
シンボリックリンクを貼る
ruby -v
ruby 1.9.1p378 (2010-01-10 revision 26273) [i486-linux]
■gemのインストールと最新版
ので、ubuntu10.04にruby1.9.1をいれて、さらにgemを最新にする。
rubyの知識が皆無な上に、そもそも俄かプログラマーなんで、かなりゴリっとやってる気がするので、もっとエレガントな方法が知りたい。。
■rubyのインストール
sudo aptitude install ruby
これで入るのはruby1.8なんでaptitude見つかる最新の1.9を入れる。
sudo aptitude install ruby-1.9.1
1.9のインストール
ruby -vすると当たり前だけど1.8見てるので、シンボリックで無理やり1.9.1を見るようにする。
このやり方が、きっと相当イマイチなんで、エレガントな方法知りたい。。
sudo mv /usr/bin/ruby /usr/bin/ruby.old
sudo ln -s /usr/bin/ruby1.9.1 /usr/bin/ruby
シンボリックリンクを貼る
ruby -v
ruby 1.9.1p378 (2010-01-10 revision 26273) [i486-linux]
できた
■gemのインストールと最新版
sudo apt-get install rubygems1.9.1
*aptitude でいれたら、gem 打つと1.8か1.9か分からないって怒られたのでapt-getで使うrubyを指定して入れる。
sudo gem install rubygems-update
gemを最新にするのをgemでいれる。なんか書いててイミフ。
sudo /var/lib/gems/1.9/bin/update_rubygems
最新版にアップデート
gem -v
1.8.21
できた
ubuntu10.04で複数バージョンのpythonを使う
ubuntu10.04はデフォルトのpythonはpython2.6なので
python2.7を追加でインストールする。
インストールしたpython2.7をベースにvirtualenvで開発環境を構築する。
(1)python2.7のインストール
参考ページほぼそのままで上手くいった
sudo apt-get install zlib1g-dev bzip2 libbz2-dev libreadline5-dev libjpeg62 libjpeg62-dev libfreetype6 libfreetype6-dev libsqlite3-0 libsqlite3-dev libgdbm3 libgdbm-dev libssl0.9.8 libssl-dev tk8.4-dev tk8.5-dev
wget http://www.python.org/ftp/python/2.7.2/Python-2.7.2.tgz
tar zxvf Python-2.7.2.tgz
cd Python-2.7.2/
./configure --prefix=/opt/python2.7 --with-threads --enable-shared
make
sudo make install
sudo strip /opt/python2.7/bin/python*
sudo ln -s /opt/python2.7/bin/python /usr/bin/python2.7
sudo vi /etc/ld.so.conf.d/opt-python2.7.conf
# 下記を追記
/opt/python2.7/lib
sudo /sbin/ldconfig
(参考)
http://fukuoka-py.g.hatena.ne.jp/uchikoshi22/20111211/1323556986
(2)virtualenv, virtualenvwrapperを使って環境つくる
sudo pip install virtualenv
sudo pip install virtualenvwrapper
VirtualEnvWrapperが簡単に叩けるように.bashrcを編集する
vi $HOME/.bashrc
末尾にに以下を追記
## Python virtualenvwrapper
export WORKON_HOME=$HOME/.virtualenvs
if [ -f /usr/local/bin/virtualenvwrapper.sh ]; then
source /usr/local/bin/virtualenvwrapper.sh
fi
## Python pip -> virtualenv only
export PIP_REQUIRE_VIRTUALENV=true
export PIP_RESPECT_VIRTUALENV=true
python2.7で環境をつくる
mkdir $HOME/.virtualenvs
source $HOME/.bashrc
mkvirtualenv --python=/usr/bin/python2.7 --no-site-package env
環境に入る
work on env
環境から出る
deactivate
環境を削除する
rmvirturlenv env
python2.7を追加でインストールする。
インストールしたpython2.7をベースにvirtualenvで開発環境を構築する。
(1)python2.7のインストール
参考ページほぼそのままで上手くいった
sudo apt-get install zlib1g-dev bzip2 libbz2-dev libreadline5-dev libjpeg62 libjpeg62-dev libfreetype6 libfreetype6-dev libsqlite3-0 libsqlite3-dev libgdbm3 libgdbm-dev libssl0.9.8 libssl-dev tk8.4-dev tk8.5-dev
wget http://www.python.org/ftp/python/2.7.2/Python-2.7.2.tgz
tar zxvf Python-2.7.2.tgz
cd Python-2.7.2/
./configure --prefix=/opt/python2.7 --with-threads --enable-shared
make
sudo make install
sudo strip /opt/python2.7/bin/python*
sudo ln -s /opt/python2.7/bin/python /usr/bin/python2.7
sudo vi /etc/ld.so.conf.d/opt-python2.7.conf
# 下記を追記
/opt/python2.7/lib
sudo /sbin/ldconfig
(参考)
http://fukuoka-py.g.hatena.ne.jp/uchikoshi22/20111211/1323556986
(2)virtualenv, virtualenvwrapperを使って環境つくる
sudo pip install virtualenv
sudo pip install virtualenvwrapper
VirtualEnvWrapperが簡単に叩けるように.bashrcを編集する
vi $HOME/.bashrc
末尾にに以下を追記
## Python virtualenvwrapper
export WORKON_HOME=$HOME/.virtualenvs
if [ -f /usr/local/bin/virtualenvwrapper.sh ]; then
source /usr/local/bin/virtualenvwrapper.sh
fi
## Python pip -> virtualenv only
export PIP_REQUIRE_VIRTUALENV=true
export PIP_RESPECT_VIRTUALENV=true
python2.7で環境をつくる
mkdir $HOME/.virtualenvs
source $HOME/.bashrc
mkvirtualenv --python=/usr/bin/python2.7 --no-site-package env
環境に入る
work on env
環境から出る
deactivate
環境を削除する
rmvirturlenv env
ラベル:
python,
ubuntu,
virtualenv
引っ越し
posteraouがTwitterに買収されて先行き不安なんで、とりあえず引っ越し。
ところで、、googleはbloggerは続ける気あるんだろうか、不安。
元のブログはココ
http://suit-on-python.posterous.com/
ところで、、googleはbloggerは続ける気あるんだろうか、不安。
元のブログはココ
http://suit-on-python.posterous.com/
登録:
投稿 (Atom)