即席Tomcat

Tomcatの即席実行環境を用意する

Linuxサーバ上でApache+Tomcatを使用したテスト環境を用意する必要がある場合向けの即席環境手順。

簡易的にApache+Tomcat環境の調査するなどで利用できる。

インストール手順

  1. パッケージをインストールする
    yum install httpd tomcat java-1.8.0-openjdk-devel -y
  2. Apacheの設定ファイルを編集する
    vi /etc/httpd/conf/httpd.conf
    変更内容。以下を追記する。
    ProxyPass /test/ ajp://127.0.0.1:8009/test/
  3. Tomcatでアクセスログのバッファを無効にする
    sed 's/suffix=".txt"/suffix=".txt" buffered="false"/' -i /etc/tomcat/server.xml
  4. サーブレット用のディレクトリを作成する
    cd /var/lib/tomcat/webapps
    mkdir test test/WEB-INF test/WEB-INF/classes test/WEB-INF/lib
  5. サーブレットの設定を行う
    vi /var/lib/tomcat/webapps/test/WEB-INF/web.xml
    以下を張り付ける
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
    http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
    version="3.1"
    metadata-complete="true">
    <servlet>
    <servlet-name>servlet1</servlet-name>
    <servlet-class>Test</servlet-class>
    </servlet>
    <servlet-mapping>
    <servlet-name>servlet1</servlet-name>
    <url-pattern>/servlet1</url-pattern>
    </servlet-mapping>
    </web-app>
  6. サーブレットを作成する
    cd test/WEB-INF/classes
    vi Test.java
    以下を張り付ける
    import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.*;

    public class Test extends HttpServlet {
    public void doGet(HttpServletRequest req, HttpServletResponse res)
    throws IOException, ServletException {
    PrintWriter out = res.getWriter();
    out.println("Test");
    out.close();
    }
    }
  7. コンパイルする
    javac -classpath /usr/share/java/tomcat-servlet-api.jar Test.java
  8. サービスを起動する
    systemctl start httpd
    systemctl start tomcat
  9. アクセス確認を行う
    curl http://localhost/test/servlet1

変更手順

サーブレットを変更する場合は次を実施する

  1. サーブレットを変更する
    vi /var/lib/tomcat/webapps/test/WEB-INF/classes/Test.java
  2. 再読み込みする
    javac -classpath /usr/share/java/tomcat-servlet-api.jar Test.java
    systemctl restart tomcat
  3. アクセス確認を行う
    curl http://localhost/test/servlet1

Notice: Trying to get property 'queue' of non-object in /usr/local/wordpress/wp-includes/script-loader.php on line 2876

Warning: Invalid argument supplied for foreach() in /usr/local/wordpress/wp-includes/script-loader.php on line 2876