Skip to content

Instantly share code, notes, and snippets.

@ysasaki
Created May 16, 2012 11:28
Show Gist options
  • Save ysasaki/2709657 to your computer and use it in GitHub Desktop.
Save ysasaki/2709657 to your computer and use it in GitHub Desktop.
Hokkaido.pm Casual#1のスライド
use strict;
use warnings;
use Test::More;
require_ok 'main.pl';
is sum(1,2), 3, 'sum ok';
done_testing;

fluxflex

Hokkaido.pm Casual#1 @aloelight

fluxflexとは

  • The fastest way to launch your web services.
  • PaaS
  • perl-5.10.1
  • Apache 2.2.17 + mod_fastcgi(?)
  • MySQL 5.5.12

PaaS比較

  • heroku
    • Perl使えません
  • dotCloud
    • 値段とか考えると個人向けじゃないっぽい
  • fluxflex

なんでPaaS?

  • Webアプリを作ってすぐ公開したい
  • サーバ設定・運用って大変
  • rails + heroku が羨ましかった

Dancerを動かしてみよう

  1. アカウント登録

登録画面から普通に登録

登録方法は以下の3つ

  • email + password
  • twitter
  • facebook
  1. SSH公開鍵の登録

公開鍵を登録する

  1. ssh-keygen -t rsa -b 2048 -f fluxfex

  2. pbcopy < fluxflex.pub

  3. 登録画面に貼り付け

  4. プロジェクト作成


  • デフォルトのを削除して、新規作成
  • Setup > Git からclone用のコマンドをコピー
  • 自分のローカルにclone
  1. プロジェクト修正

    dancer -a MyApp
    cp -r MyApp/ clone-path/
    cd clone-path/
    ln -s public public_html
    vim public_html/.htaccess
    vim .flx
  1. .htaccess

    AllowOverride None
    Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
    Order allow,deny
    Allow from all
    AddHandler fastcgi-script .fcgi
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ /dispatch.fcgi$1 [QSA,L]
  1. .flx

    [deploy]
    cpanm -L local -v --notest --installdeps .

    [setup]
    bash cpanm-setup.sh

6-2. cpanm-setup.sh

    #!/bin/bash
    curl -kL http://install.perlbrew.pl | bash
    echo 'source ~/perl5/perlbrew/etc/bashrc' >> ~/.bashrc
    bash
    perlbrew install-cpanm
    cpanm -L local YAML Dancer Plack
    cpanm -L local --notest --installdeps .
  1. Setup & Deployを実行

  • pushしたらdeployされるけど、setupを行いたいので手動で実行
  • 完了したらサイトにアクセス!

残念でした!動きません!

試行錯誤してみる

  1. "|"が食われた
  • setupをshell scriptに変更
  1. deploy操作が600secでタイムアウトする
  • cpanmに--notestを追加
  1. まだタイムアウト
  • cpanm -Lを-lに変更

やっぱりダメでした

次回に続くかも……

#!/usr/bin/env perl
# 今日の質問: 一枚ペラのスクリプトのテストをどうするか
# 回答 : main()とか定義しておけばいいんじゃね
use v5.14;
use warnings;
main() unless caller();
sub main {
say sum(1,2);
}
sub sum {
my ($x, $y) = @_;
return $x + $y;
}
@ysasaki
Copy link
Author

ysasaki commented May 16, 2012

MojoliciousのサンプルがApp Garageにあったので使ってみたら動いた。
systemにinstallされたMojoliciousを使っている模様。VERSIONは1.34

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment