Contenu connexe
Similaire à Niigata.pm #1
Similaire à Niigata.pm #1 (20)
Niigata.pm #1
- 5. perlbrew
http://perlbrew.pl/
・複数のバージョンのperlをインストールして切り替え
・システムperlの環境をよごさずにモジュール入れ放題
・root権限いらず
導入方法
$ curl -kL http://install.perlbrew.pl | bash
$ echo 'source ~/perl5/perlbrew/etc/bashrc' >> ~/.bash_profile
$ source ~/.bash_profile
$ perlbrew install perl-5.14.2
...
...
$ perlbrew switch perl-5.14.2
- 6. cpanm
http://search.cpan.org/~miyagawa/App-cpanminus/
・CPANコマンドの代替
・省メモリ・高速動作・簡単
・クリーンなライブラリ環境の構築が可能
導入方法(perlbrew環境下)
$ perlbrew intall-cpanm
$ cpanm -v
cpanm (App::cpanminus) 1.5011 on perl 5.014002 built for i686-
linux
...
...
...
- 7. Carton
http://search.cpan.org/~miyagawa/carton/
・アプリケーションごとに独立したライブラリ環境を構築
・モジュールバージョンを固定できる
・実行環境へのデプロイも楽々
導入方法
$ cpanm Carton
$ carton -v
carton v0.9.4
- 8. 環境まとめ
$ curl -kL http://install.perlbrew.pl | bash
$ echo 'source ~/perl5/perlbrew/etc/bashrc' >> ~/.bash_profile
$ source ~/.bash_profile
$ perlbrew install perl-5.14.2
$ perlbrew switch perl-5.14.2
$ perlbrew install-cpanm
$ cpanm carton
- 11. Mojolicious
http://mojolicio.us/
・依存モジュールの少ない、ポータブルなWAF
・Mojolicious::Liteでsinatraライクなお手軽開発も可能
・ドキュメント豊富
導入方法(Carton利用)
$ carton install Mojolicious
利用例(Carton利用)
$ carton exec mojo -- generate lite_app
$ carton exec morbo -- myapp.pl
[Fri Apr 27 16:34:31 2012] [info] Listening at "http://*:3000".
...
- 14. 構成
開発
push pull Stage
Dev Git
/Prod
daemontools
/supervisord WebApp Apache/Nginx
/Upstart
- 15. デプロイ(1)
実行ユーザーを作成
$ sudo useradd -m myapp && sudo su - myapp
Perl環境構築
myapp$ ...省略...
Gitリポジトリをclone
myapp$ git clone <shared-repository> myapp
依存モジュールをインストール
myapp$ cd myapp
myapp$ carton install
※テスト
myapp$ carton exec -- prove
- 16. デプロイ(2)
daemontools runスクリプト例 Apache conf 例
#!/bin/sh <VirtualHost *:80>
exec 2>&1 ServerName myapp.example.com
export HOME=/home/myapp <Proxy *>
cd $HOME/myapp Order deny,allow
exec setuidgid myapp ./script/start.sh Allow from all
</Proxy>
ProxyRequests Off
script/start.sh
ProxyPreserveHost On
#!/bin/sh ProxyPass / http://localhost:50080/
source $HOME/perl5/perlbrew/etc/bashrc ProxyPassReverse / http://localhost:50080/
carton exec morbo -- myapp RequestHeader set X-Forwarded-HTTPS "0"
--listen 'http://*:50080' <VirtualHost>
- 17. まとめ
環境構築
$ curl -kL http://install.perlbrew.pl | bash
$ echo 'source ~/perl5/perlbrew/etc/bashrc' >> ~/.bash_profile
$ source ~/.bash_profile
$ perlbrew install perl-5.14.2
$ perlbrew switch perl-5.14.2
$ perlbrew install-cpanm
$ cpanm carton
Mojoliciousアプリケーションの用意&実行
$ mkdir -p ~/work/myapp && cd ~/work/myapp
$ carton install Mojolicious
$ carton exec mojo -- generate lite_app myapp
$ carton exec morbo -- myapp