JAVAアプリケーションサーバー - Tomcat 62008/08/31 |
[1] | Tomcat 6のインストールと設定です。wgetでとってくる際には こちらより最新のものを確認後、 取得してください。 |
[root@www ~]# wget http://ftp.riken.jp/net/apache/tomcat/tomcat-6/v6.0.32/bin/apache-tomcat-6.0.32.tar.gz [root@www ~]# tar zxvf apache-tomcat-6.0.32.tar.gz [root@www ~]# mv apache-tomcat-6.0.32 /usr/tomcat6 [root@www ~]# useradd -d /usr/tomcat6 tomcat useradd: warning: the home directory already exists. Not copying any file from skel directory into it. [root@www ~]# chown -R tomcat. /usr/tomcat6
|
[2] | 起動スクリプトを作成しておきます。 |
[root@www ~]#
vi /etc/rc.d/init.d/tomcat6 #!/bin/bash # Tomcat6: Start/Stop Tomcat 6 # # chkconfig: - 90 10 # description: Tomcat is a Java application Server. . /etc/init.d/functions . /etc/sysconfig/network CATALINA_HOME=/usr/tomcat6 TOMCAT_USER=tomcat LOCKFILE=/var/lock/subsys/tomcat RETVAL=0 start(){ echo "Starting Tomcat6: " su - $TOMCAT_USER -c "$CATALINA_HOME/bin/startup.sh" RETVAL=$? echo [ $RETVAL -eq 0 ] && touch $LOCKFILE return $RETVAL } stop(){ echo "Shutting down Tomcat6: " $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 $? chmod 755 /etc/rc.d/init.d/tomcat6 [root@www ~]# /etc/rc.d/init.d/tomcat6 start
Starting Tomcat6:
[root@www ~]# Using CATALINA_BASE: /usr/tomcat6 Using CATALINA_HOME: /usr/tomcat6 Using CATALINA_TMPDIR: /usr/tomcat6/temp Using JRE_HOME: /usr/java/default Using CLASSPATH: /usr/tomcat6/bin/bootstrap.jar chkconfig --add tomcat6 [root@www ~]# chkconfig tomcat6 on
|
[3] | Webブラウザで「http://(サーバー名またはIPアドレス):8080/」にアクセスして、 以下のような Tomcat のページが表示されることを確認してください。 |
[4] | URLに8080を指定しなくてもアクセスできるように設定しておきます。 |
[root@www ~]#
vi /etc/httpd/conf.d/proxy_ajp.conf # 最終行に追記
ProxyPass /tomcat/ ajp://localhost:8009/
/etc/rc.d/init.d/httpd restart Stopping httpd: [ OK ] Starting httpd: [ OK ] |
[5] |
Webブラウザで「http://(サーバー名またはIPアドレス)/tomcat/」にアクセスして、
[3] の Tomcat のページが表示されることを確認してください。
|
[6] | 現在の日時を表示するテストサーブレットを作成して動作を確認してみます。 |
[root@www ~]# mkdir /usr/tomcat6/webapps/ROOT/WEB-INF/classes [root@www ~]# chown tomcat. /usr/tomcat6/webapps/ROOT/WEB-INF/classes [root@www ~]# cd /usr/tomcat6/webapps/ROOT/WEB-INF/classes
[root@www classes]#
vi daytime.java import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import java.util.Calendar; public class daytime extends HttpServlet { public void doGet(HttpServletRequest request ,HttpServletResponse response) throws IOException, ServletException{ response.setContentType("text/html"); PrintWriter out = response.getWriter(); Calendar cal = Calendar.getInstance(); out.println("<html>"); out.println("<head>"); out.println("<title>DayTime</title>"); out.println("</head>"); out.println("<body>"); out.println("<div style=\"font-size: 40px; text-align: center; font-weight: bold\">"); out.println(cal.get(Calendar.YEAR) + "/" + (cal.get(Calendar.MONTH) + 1) + "/" + cal.get(Calendar.DATE) + " " + cal.get(Calendar.HOUR_OF_DAY) + ":" + cal.get(Calendar.MINUTE)); out.println("</div>"); out.println("</body>"); out.println("</html>"); } } javac -classpath /usr/tomcat6/lib/servlet-api.jar daytime.java
[root@www classes]#
vi /usr/tomcat6/webapps/ROOT/WEB-INF/web.xml # 以下を<web-app> - </web-app>の間の適当なところへ追記 <servlet> <servlet-name>daytime</servlet-name> <servlet-class>daytime</servlet-class> </servlet> <servlet-mapping> <servlet-name>daytime</servlet-name> <url-pattern>/daytime</url-pattern> </servlet-mapping> |
[7] | Webブラウザで「http://(サーバー名またはIPアドレス)/tomcat/daytime」にアクセスして、 以下のようなページが表示されることを確認してください。 |