背景
最近、Rubyの勉強を行なっている。で、Rubyと言えばRailsと思い立った。
実は、CRubyではなくJRubyでコードを書いている。そのため、RailsもTomcatなどのJavaアプリケーション・サーバーで走らせることになる。
動かすだけが目的であるならば、GoogleAppEngineだって、JRrubyやRailsが動くのでそれでも良い。
しかし、先日さくらのVPSのりようを開始したりで手元に環境が揃っているため、自前でアプリケーション・サーバーを用意することにした。
動作させるOSはScientificLinux6。ちなみに、すでにJenkinsが動作しているサーバーであるため、ポートが重なったりしないよう気をつけなければならない。
手順
- JDKのインストール
- tomcatのインストール
- tomcatの設定
- apacheの設定
JDKのインストール
大事なのは、インストール作業よりも環境変数の登録。
# vim ~/.bashrc export JAVA_HOME=/usr/java/default export PATH="$PATH":$JAVA_HOME/bin export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar #source .bashrc
tomcatのインストール
#wget http://ftp.meisei-u.ac.jp/mirror/apache/dist/tomcat/tomcat-7/v7.0.29/bin/apache-tomcat-7.0.29.tar.gz #tar xzf apache-tomcat-7.0.29.tar.gz #mv apache-tomcat-7.0.29 /usr/local/tomcat #rm -rf apache-tomcat-7.0.29.tar.gz
tomcatの設定
#vim /etc/profile.d/tomcat.sh export JAVA_HOME=/usr/java/default 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
起動スクリプトの記述
#vim /etc/rc.d/init.d/tomcat #!/bin/bash # Tomcat7: Start/Stop Tomcat 7 # # chkconfig: - 90 10 # description: Tomcat is a Java application Server. . /etc/init.d/functions . /etc/sysconfig/network source /etc/profile.d/tomcat.sh TOMCAT_USER=tomcat LOCKFILE=/var/lock/subsys/tomcat RETVAL=0 start(){ echo "Starting Tomcat7: " su - $TOMCAT_USER -c "$CATALINA_HOME/bin/startup.sh" RETVAL=$? echo [ $RETVAL -eq 0 ] && touch $LOCKFILE return $RETVAL } stop(){ echo "Shutting down Tomcat7: " $CATALINA_HOME/bin/shutdown.sh RETVAL=$? echo [ $RETVAL -eq 0 ] && rm -f $LOCKFILE return $RETVAL } case "$1" in start) start ;; stop) stop ;; restart) stop start ;; status) status tomcat ;; *) echo $"Usage: $0 {start|stop|restart|status}" exit 1 ;; esac exit $?
apacheの設定
ポートの変更
#vim /usr/local/tomcat/conf/server.xml #http://server:8080 でのアクセスを禁止する #コメントアウト #AJPのポートを変更する #8009 -> 8020 に変更
AJPの設定
#vim /etc/httpd/conf.d/prozy_ajp.conf
ProxyPass /tomcat/ ajp://localhost:8020/
デーモンの起動
#/etc/rc.d/init.d/httpd restart #/etc/rc.d/init.d/tomcat start
サービスの登録
#chkconfig --add tomcat #chkconfig tomcat onというわけで、次はRails