vagrant + java + tomcat
ローカル環境に vagrant で仮想環境を作り、tomcat 上で java アプリケーションを動かしてみる。今の業務での開発はローカルで開発→検証環境へアップ→リリースという流れが主です。ここで、”ローカルで開発→検証環境へアップ”という部分で、そもそもローカルでも検証環境と同等の状態で開発できたら楽だし手戻り減ります。(ここで手戻りと言ったのは、ほんとごく稀に検証上げたらこの機能が動かない、文字化けしたというケースを聞いたり見たりすることがあるためです)ローカルと検証を同等の環境にし開発を進めるための一歩として、vagrant を使って環境を構築してみます。vagrant については以前記載していますのでそちらを参照ください。
jdk のインストール
以降の環境はすべて仮想環境内での操作になります。まずは java の実行環境を作るために jdk をインストールします。
sudo yum list | grep java
sudo su install java-1.7.0-openjdk.x86_64 java-1.7.0-openjdk-devel.x86_64
ここでは jdk のリストを確認し、インストールを実行しています。完了したら正しくインストールされているか確認しておきます。
java -version
"java version "1.7.0_45""のように表示されればOK。ちなみにJavaは "/usr/lib/jvm/java" にインストールされていますので確認してみてください。
tomcat のインストール
続いて tomcat のインストールです。 tomcat はダウンロードしそれを解凍します。ダウンロードする際は wget を利用しますが、もしコマンドが使えなければ以下を実行しインストールしておきます。
sudo yum -y install wget
ダウンロードと解凍。
wget http://ftp.jaist.ac.jp/pub/apache/tomcat/tomcat-7/v7.0.53/bin/apache-tomcat-7.0.53.tar.gzomcat-7.0.50.tar.gz
tar -xzvf ~/apache-tomcat-7.0.53.tar.gz
sudo cp -rf apache-tomcat-7.0.53 /usr/local/tomcat
tomcat ユーザを作成し、権限を変更しておきます。
sudo useradd -s /sbin/nologin tomcat
sudo chown tomcat:tomcat -R /usr/local/tomcat/
tomcat のインストールは完了です。
java と tomcatのインストールが完了したところで環境変数にそれぞれの設定を追加しておきましょう。tomcat.sh に以下のように記載。
sudo vi /etc/profile.d/tomcat.sh export JAVA_HOME=/usr/lib/jvm/java export PATH=$PATH:$JAVA_HOME/bin export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar export TOMCAT_HOME=/usr/local/tomcat export CATALINA_HOME=/usr/local/tomcat export CLASSPATH=$CLASSPATH:$CATALINA_HOME/common/lib
tomcat の起動スクリプト
最後に起動スクリプトを書けば完了です。
sudo vi /etc/rc.d/init.d/tomcat #!/bin/bash # # Startup script for the tomcat # # chkconfig: 345 80 15 # description: Tomcat is a Servlet+JSP Engine. # Source function library. . /etc/rc.d/init.d/functions source /etc/profile.d/tomcat.sh start(){ if [ -z $(/sbin/pidof java) ]; then echo "Starting tomcat" /usr/local/tomcat/bin/startup.sh touch /var/lock/subsys/tomcat else echo "tomcat allready running" fi } stop(){ if [ ! -z $(/sbin/pidof java) ]; then echo "Shutting down tomcat" /usr/local/tomcat/bin/shutdown.sh until [ -z $(/sbin/pidof java) ]; do :; done rm -f /var/lock/subsys/tomcat else echo "tomcat not running" fi } case "$1" in start) start ;; stop) stop ;; restart) stop start ;; status) /usr/local/tomcat/bin/catalina.sh version ;; *) echo "Usage: $0 {start|stop|restart|status}" esac exit 0
これで完了です。起動したか確認。
サーバ起動。
sudo service tomcat start
起動したら8080ポートでアクセスしてください。tomcat 画面が出るはずです。
http://192.168.33.10:8080
vagrant で仮想環境構築し java と tomcat をインストールし java アプリケーションを動かす環境を整えました。ローカル環境の Vagrantfile のあるディレクトリと tomcat の webappとを同期すれば簡単にデプロイできます。ちなみに jenkins を入れればローカルで CI 環境も実現できますね。