LoginSignup
12
10

More than 5 years have passed since last update.

ConoHa VPS上にjiji環境を構築する

Last updated at Posted at 2016-02-21

無料で使えるFXシステムトレードフレームワーク Jiji をConoHa vps上でインストールした際の手順です。

mt4だとWindows環境が必要なのと、バックテストがかなり重いのでjijiのが軽いかもと期待して環境を作ってみました。

インストールの流れは以下になります。Jijiのインストールガイドで詰まった所を一部具体的に書いてます。

  1. VPSでCentOS7.2のテンプレートで構築
  2. Gitのインストール
  3. Dockerのインストールと更新

ConoHa VPS

ConoHaなら途中でプラン変更も出来るので、スモールスタートでメモリ 1GB、CPU 2コア、SSD 50GBの月900円プランにしました。OSはCentOS Linux release 7.2.1511 (Core)です。この辺りは簡単なので省略。

Gitのインストール

CentOSの設定

yum updateかけた時にエラーになったので、yumレポジトリのepel-debuginfoとepel-sourceを無効化しました。以下全てrootで作業してます。

/etc/yum.repos.d/epel.repo
[epel-debuginfo]
enabled=0
[epel-source]
enabled=0

Gitのインストール

Gitで困る所はないと思います。yum installするだけです。

# yum install gcc
# yum install git
# git --version
git version 1.8.3.1

Dockerのインストール

extrasでインストールされるDockerはバージョンが1.8.2なので、要件を満たしていません。1.9以降が必要です。一旦1.8.2をインストールした後に、バージョンアップを行います。
ここを参照しました。
http://qiita.com/Arturias/items/8c9c9321e87675c7d023

docker1.8.2のインストール

困る所はないと思います。

# yum install docker

docker 1.11.0のインストール

# git clone https://git@github.com/docker/docker
# cd docker
# make build
# docker images
docker-dev          master              69c1785ed349        4 days ago          2.065 GB
# make binary
...
# ls ./docker/bundles/latest/binary/
lrwxrwxrwx 1 root root       17 Feb 16 18:08 docker -> docker-1.11.0-dev
-rwxr-xr-x 1 root root 34678499 Feb 16 18:08 docker-1.11.0-dev
-rw-r--r-- 1 root root       52 Feb 16 18:08 docker-1.11.0-dev.md5
-rw-r--r-- 1 root root       84 Feb 16 18:08 docker-1.11.0-dev.sha256

docker 1.8.2と1.11.0の差し替え

# systemctl stop docker.service
# mv /usr/bin/docker /usr/bin/docker-1.8.1
# cp bundles/latest/binary/docker-1.11.0-dev /usr/bin/docker

# docker version
Client:
 Version:      1.11.0-dev
 API version:  1.23
 Go version:   go1.5.3
 Git commit:   b16536a
 Built:        Tue Feb 16 09:07:27 2016
 OS/Arch:      linux/amd64

Server:
 Version:      1.11.0-dev
 API version:  1.23
 Go version:   go1.5.3
 Git commit:   b16536a
 Built:        Tue Feb 16 09:07:27 2016
 OS/Arch:      linux/amd64

# cd ..

docker-composeインストール

# curl -L https://github.com/docker/compose/releases/download/1.6.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   600    0   600    0     0    254      0 --:--:--  0:00:02 --:--:--   254
100 7754k  100 7754k    0     0  1289k      0  0:00:06  0:00:06 --:--:-- 2881k
# chmod +x /usr/local/bin/docker-compose
# ls -la /usr/local/bin/docker-compose
-rwxr-xr-x 1 root root 7940602 Feb 16 19:00 /usr/local/bin/docker-compose

# docker-compose --version
docker-compose version 1.6.0, build d99cad6

jiji2インストール

# git clone https://github.com/unageanu/docker-jiji2
Cloning into 'docker-jiji2'...
remote: Counting objects: 107, done.
remote: Total 107 (delta 0), reused 0 (delta 0), pack-reused 107
Receiving objects: 100% (107/107), 19.75 KiB | 0 bytes/s, done.
Resolving deltas: 100% (31/31), done.
# cd docker-jiji2

自己証明書作成

# openssl genrsa 2048 > server.key
# openssl req -new -key server.key > server.csr
# openssl x509 -sha256 -days 365 -req -signkey server.key < server.csr > server.crt
# vi docker-compose.yml 
- ./server.crt:/etc/nginx/cert/ssl.crt:ro
- ./server.key:/etc/nginx/cert/ssl.key:ro

dockerイメージをビルド

# docker-compose build

Dockerコンテナを作成し、起動

# docker-compose up -d
Pulling mongodb (mongo:3.0.7)...
3.0.7: Pulling from library/mongo
45a5ec39a81f: Pull complete
a3ed95caeb02: Pull complete
d1f83b34c8fa: Pull complete
9a6050a755e5: Pull complete
2b04fe9173a9: Pull complete
5a318f31408d: Pull complete
06ff9b82c252: Pull complete
b1d5c78e5050: Pull complete
bcbf30bf1934: Pull complete
d0450bc5c6c8: Pull complete
c185104550a9: Pull complete
Digest: sha256:01b2f2fe54240c7a8e0e9bb0ab26307e2050490dcd0b02be548503a45b1b32c4
Status: Downloaded newer image for mongo:3.0.7
Creating jiji_mongodb
Creating jiji_jiji
Creating jiji_nginx

起動しているコンテナを確認

# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                         PORTS                           NAMES
890c7b07d74b        dockerjiji2_nginx   "nginx -g 'daemon off"   34 seconds ago      Up 33 seconds                  80/tcp, 0.0.0.0:8443->443/tcp   jiji_nginx
8b7320b80f58        dockerjiji2_jiji    "pumactl -S /var/run/"   35 seconds ago      Up 33 seconds                  8080/tcp                        jiji_jiji
40260d68dfad        mongo:3.0.7         "/entrypoint.sh mongo"   35 seconds ago      Up 34 seconds                  0.0.0.0:27018->27017/tcp        jiji_mongodb

ブラウザからアクセス

IPは自分の環境で読み替えてください。

https://172.xxx.xxx.xxx:8443/

うちではVPSにプロキシ建ててからSSHでトンネリングして、プライベートIPでアクセスしています。
このあたり参照しました。
http://qiita.com/kiida/items/37557a1029788afec98a

12
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
10