CentOS 7を最小インストールからPlayのサービスを立ち上げるまで
2016年6月22日水曜日
「最近流行りの」と言うにはもう若干遅くなっている感もあるNginxの練習をしようと思い、とりあえずサーバーを一から立ててみた。直接には関係ないものを色々と入れるのは面倒なので、以前作ったScala MDWikiをNginx環境で動作させる、というゴール設定にした。
0.今回の環境
OS | CentOS 7 |
---|---|
フロントサーバー | Nginx 1.10.1 |
アプリケーションサーバー | Play framework 2.2.6 |
データベース | h2db (Play framework) |
自分用のHelperとか立ててるサーバーはCentOS 6なのだが、移行のための学習も兼ねているのでOSはCentOS 7に。データベースはPlay frameworkビルトインのh2dbを利用。h2dbはこういうとき便利。
1.CentOS 7を導入
CentOS 7を最小インストールした直後のスナップショットから開始。
まず、CentOS 7から導入されたfirewalldの設定を変更し、HTTPポート(80)を解放してしまう。
firewall-cmd --add-service=http --zone=public --permanent
systemctl restart firewalld
2.Gitを導入する
多分以下のスクリプトで最新版のGit(2.9.0)が導入される。
latest=2.9.0
mkdir work
cd work
yum -y remove git
yum install -y \
gcc \
autoconf \
zlib-devel \
curl-devel \
perl-ExtUtils-MakeMaker
curl -L https://github.com/git/git/archive/v${latest}.tar.gz -o git.tar.gz
tar zxvf git.tar.gz
cd git-${latest}
make configure
./configure --prefix=/usr/local
make all
make install
cd ../
rm -rf git-${latest}
git --version
3.Nginxを導入する
まず、公式のリポジトリをyumに追加し、Nginx本体を導入する。
echo '[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1' > /etc/yum.repos.d/nginx.repo
yum install -y nginx
次に、以下の項目を設定する。
/etc/nginx/nginx.conf
変更前 | 変更後 |
---|---|
|
|
/etc/nginx/conf.d/mdwiki.conf
server {
listen 80;
server_name _;
location / {
proxy_pass http://127.0.0.1:9000;
}
}
4.Play frameworkを導入する
Scala MDWikiはPlay 2.2を利用しているため、これを導入する。
# 前提となるJava8環境の導入
yum install -y \
java \
java-1.8.0-openjdk-devel
# Play本体の導入
curl -L https://downloads.typesafe.com/play/2.2.6/play-2.2.6.zip -o play.zip
yum install -y unzip
unzip play.zip
mkdir -p /var/lib/play
mv play-2.2.6 /var/lib/play/2.2.6
ln -s /var/lib/play/2.2.6/play /usr/local/bin/play
5.Scala MDWikiを導入する
githubからクローンし、コンパイルする
mkdir -p /var/lib/services
cd /var/lib/services
git clone https://github.com/nil2013/scala_mdwiki.git
play clean stage
6.システムを起動する
NginxおよびScala MDWiki本体を起こす
target/universal/stage/bin/scala_mdwiki -DapplyEvolutions.default=true &
systemctl start nginx
こんな感じで、一応httpアクセスをすると動作していることが確認できる。
コメント
0 件のコメント :
コメントを投稿