参考
- Herokuの移行先としてOpenShiftを選択する - Qiita
- OpenShift Online Monthly Plan Comparison
-
OpenShift で Crystal を動かす方法 - Qiita
- ミドルウエアのバージョンが古いのでDIYコンテナでビルドすればよい。
- Search · OpenShift diy · GitHubでいろいろ見つかる。
準備
-
Create an account | OpenShift Online by Red Hatにて新しいアカウント作成
- クレジットカード登録不要
sudo gem install rhc
セットアップ
+ $ rhc setup
OpenShift Client Tools (RHC) Setup Wizard
This wizard will help you upload your SSH keys, set your application namespace, and check that other
programs like Git are properly installed.
If you have your own OpenShift server, you can specify it now. Just hit enter to use the server for
OpenShift Online: openshift.redhat.com.
+ Enter the server hostname: |openshift.redhat.com| 空欄のままEnter
You can add more servers later using 'rhc server'.
+ Login to openshift.redhat.com: メールアドレス
+ Password: パスワード
OpenShift can create and store a token on disk which allows to you to access the server without
using your password. The key is stored in your home directory and should be kept secret. You can
delete the key at any time by running 'rhc logout'.
+ Generate a token now? (yes|no) yes
Generating an authorization token for this client ... lasts about 1 month
...(略)
+ Please enter a namespace (letters and numbers only) |<none>|: ユーザ名にしておく
アプリケーション作成
$ rhc create-app php1 php-5.4
Application Options
-------------------
Domain: user1
Cartridges: php-5.4
Gear Size: default
Scaling: no
Creating application 'php1' ... done
Your application 'php1' is now available.
URL: http://php1-user1.rhcloud.com/
SSH to: XXXXXXXXXXXXXXXXXXXXXXXX@php1-user1.rhcloud.com
Git remote: ssh://XXXXXXXXXXXXXXXXXXXXXXXX@php1-user1.rhcloud.com/~/git/php1.git/
Cloned to: /home/user1/php1
Run 'rhc show-app php1' for more details about your app.
ssh接続
- ssh接続ができる(数分で自動ログアウトさせられる。root権限はない)
-
nohup
でバックグラウンド起動させれば起動しっぱなしにできる。 - tmuxが利用できる。(screenは起動できない)
- メモリが潤沢、CPU速度も早いので安いVPS借りるより良い
- 設定ファイルの場所
- /var/lib/openshift/XXXXXXXXXXXXXXXXXXXXXXXX/php//configuration/etc/conf.d/
$ echo $HOME
/var/lib/openshift/XXXXXXXXXXXXXXXXXXXXXXXX/
$ cat /etc/redhat-release
Red Hat Enterprise Linux Server release 6.7 (Santiago)
$ uname -a
Linux ex-std-node128.prod.rhcloud.com 2.6.32-573.12.1.el6.x86_64 #1 SMP Mon Nov 23 12:55:32 EST 2015 x86_64 x86_64 x86_64 GNU/Linux
$ free -m
total used free shared buffers cached
Mem: 14939 12238 2700 924 35 2690
-/+ buffers/cache: 9512 5426
Swap: 51199 12576 38623
$ grep CPU /proc/cpuinfo
model name : Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz
model name : Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz
model name : Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz
model name : Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz
$ netstat -anp | more
...(略)
/proc/net/tcp: 許可がありません
...(略)
$ python -m SimpleHTTPServer 59901
...(略)
socket.error: [Errno 13] Permission denied
$ cat .gitconfig
...(略)
[gc]
auto = 100
[pack]
windowMemory = 10m
packSizeLimit = 20m
メール送信可能
date | mail 自分のメールアドレス
-
/var/mail/
に書き込めないのでメール受信できないと思う。
ssh鍵の管理
$ rhc sshkey --help
カートリッジの追加
rhc add-cartridge mysql-5.5 --app アプリケーション名
rhc add-cartridge cron-1.4 --app アプリケーション名
カートリッジ一覧
$ rhc cartridges
jbossas-7 JBoss Application Server 7 web
jboss-dv-6.1.0 (!) JBoss Data Virtualization 6 web
jbosseap-6 (*) JBoss Enterprise Application Platform 6 web
jboss-unified-push-1 (!) JBoss Unified Push Server 1.0.0.Beta1 web
jboss-unified-push-2 (!) JBoss Unified Push Server 1.0.0.Beta2 web
jenkins-1 Jenkins Server web
nodejs-0.10 Node.js 0.10 web
perl-5.10 Perl 5.10 web
php-5.3 PHP 5.3 web
php-5.4 PHP 5.4 web
zend-6.1 PHP 5.4 with Zend Server 6.1 web
python-2.6 Python 2.6 web
python-2.7 Python 2.7 web
python-3.3 Python 3.3 web
ruby-1.8 Ruby 1.8 web
ruby-1.9 Ruby 1.9 web
ruby-2.0 Ruby 2.0 web
jbossews-1.0 Tomcat 6 (JBoss EWS 1.0) web
jbossews-2.0 Tomcat 7 (JBoss EWS 2.0) web
jboss-vertx-2.1 (!) Vert.x 2.1 web
jboss-wildfly-10 (!) WildFly Application Server 10 web
jboss-wildfly-8 (!) WildFly Application Server 8.2.1.Final web
jboss-wildfly-9 (!) WildFly Application Server 9 web
diy-0.1 Do-It-Yourself 0.1 web
cron-1.4 Cron 1.4 addon
jenkins-client-1 Jenkins Client addon
mongodb-2.4 MongoDB 2.4 addon
mysql-5.1 MySQL 5.1 addon
mysql-5.5 MySQL 5.5 addon
phpmyadmin-4 phpMyAdmin 4.0 addon
postgresql-8.4 PostgreSQL 8.4 addon
postgresql-9.2 PostgreSQL 9.2 addon
rockmongo-1.1 RockMongo 1.1 addon
switchyard-0 SwitchYard 0.8.0 addon
haproxy-1.4 Web Load Balancer addon
ベンチマーク
- 利用規約にベンチマークの結果を載せるなと書いてあった。
- 無料枠なので期待しないこと