Tomcat 9 : Install2018/10/17 |
|
Install Tomcat 9 to configure Java Application Server.
|
|
| [1] | |
| [2] | Install Tomcat 9. Make sure the latest version and source URL on download site. ⇒ https://tomcat.apache.org/download-90.cgi |
|
[root@dlp ~]# curl -O http://ftp.riken.jp/net/apache/tomcat/tomcat-9/v9.0.12/bin/apache-tomcat-9.0.12.tar.gz [root@dlp ~]# tar zxvf apache-tomcat-9.0.12.tar.gz [root@dlp ~]# mv apache-tomcat-9.0.12 /usr/libexec/tomcat9 [root@dlp ~]# useradd -M -d /usr/libexec/tomcat9 tomcat [root@dlp ~]# chown -R tomcat. /usr/libexec/tomcat9
|
| [3] | Create a Systemd Setting file. |
|
[root@dlp ~]#
vi /usr/lib/systemd/system/tomcat9.service # create new [Unit] Description=Apache Tomcat 9 After=network.target [Service] Type=oneshot ExecStart=/usr/libexec/tomcat9/bin/startup.sh ExecStop=/usr/libexec/tomcat9/bin/shutdown.sh RemainAfterExit=yes User=tomcat Group=tomcat [Install] WantedBy=multi-user.target systemctl start tomcat9 [root@dlp ~]# systemctl enable tomcat9 |
| [4] | Start a Web browser on localhost or clients on the network and access to [http://(server's hostname or IP address):8080/], then Tomcat default site is displayed like follows. |
|
| [5] | Create a test servlet that shows current day and time and make sure if it works normally. |
|
[root@dlp ~]# mkdir /usr/libexec/tomcat9/webapps/ROOT/WEB-INF/classes [root@dlp ~]# chown tomcat. /usr/libexec/tomcat9/webapps/ROOT/WEB-INF/classes [root@dlp ~]# cd /usr/libexec/tomcat9/webapps/ROOT/WEB-INF/classes
[root@dlp 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>\n<head>\n<title>DayTime</title>\n</head>\n<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>\n</body>\n</html>");
}
}
javac -classpath /usr/libexec/tomcat9/lib/servlet-api.jar daytime.java
[root@dlp classes]#
vi /usr/libexec/tomcat9/webapps/ROOT/WEB-INF/web.xml # add follows between <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>
|
| [6] | Access to [http://(server's hostname or IP address):8080/daytime] to make sure it works normally. |
|
| [7] | If you'd like to access without specifying 8080, configure with Apache http server like follows. Therefore, Install and start Apache http server first. |
|
[root@dlp ~]#
vi /etc/httpd/conf.d/proxy_ajp.conf # add follows to the end
ProxyPass /tomcat9/ ajp://localhost:8009/
systemctl restart httpd |
| [8] | Access to [http://(server's hostname or IP address)/tomcat9/] and make sure it works normally. |
|
| Sponsored Link |
|
|