安装Tomcat
Tomcat的安装分为安装JDK和安装Tomcat两个步骤。
安装JDK
将JDK的压缩包上传到/usr/local/src目录下,并进行解压,如下:
然后设置环境变量,如下:
JAVA_HOME=/usr/local/jdk1.8/
JAVA_BIN=/usr/local/jdk1.8/bin
JRE_HOME=/usr/local/jdk1.8/jre
PATH=$PATH:/usr/local/jdk1.8/bin:/usr/local/jdk1.8/jre/bin
CLASSPATH=/usr/local/jdk1.8/jre/lib:/usr/local/jdk1.8/lib:/usr/local/jdk1.8/jre/lib/charsets.jar
保存文件后,执行如下命令使其生效,并检查配置内容是否正确,如下:
有如上的返回结果则说明配置正确
安装Tomcat
首先将软件包传到/usr/local/src目录下,并进行解压,如下:
因为是二进制安装包,所以免去了编译的过程,直接启动Tomcat,如下:
要查看是否启动成功,如下:
若想设置开机启动,则需要把启动命令放到/etc/rc.d/rc.local文件中,如下:
然后在浏览器中输入http://IP:8080,就能看到Tomcat的默认页面,如下:
配置Tomcat
安装完后还要配置Tomcat
配置Tomcat服务的访问端口
Tomcat默认启动的端口是8080,如果想要修改成80,就需要修改server.xml文件,如下:
保存文件后重启Tomcat,如下:
Tomcat的关闭和启动有些特殊,需要使用它自带的脚本实现,其实在实际生活中国,Tomcat会使用8080端口,而80端口是留给nginx的。
Tomcat的虚拟主机
可以先打开它的主配置文件/usr/local/tomcat/conf/server.xml来查看一下它的结构
Index.jsp是Tomcat的默认页面,可以使用curl命令,如下:
再增加一个虚拟主机,并定义域名,如下:
<Host name="www.123.cn" appBase="/data/tomcatweb/"
unpackWARs="false" authDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="/data/tomcatweb/" debug="0" reloadable="true" crossContext="true"/>
</Host>
接下来就进行创建目录和测试文件,并进行测试,如下:
测试Tomcat解析JSP
以上所有的操作,都仅仅是把Tomcat作为一个普通的Web Server,其实Tomcat主要用来解析JSP页面。下面就来创建一个JSP的测试页面,如下:
保存文件并进行测试,如下:
可以看到,中间的代码被解析成了当前系统的时间
Tomcat日志
Tomcat的日志目录为/usr/local/tomcat/logs,主要有四大类日志:
带access字样的日志为访问日志,不带access字样的为默认虚拟主机的错误日志。访问日志默认不会生成,需要在server.xml中配置一下,如下:
Tomcat链接MySQL
Tomcat连接MySQL是通过自带的JDBC驱动实现的。首先,配置MySQL,创建实验用的库、表及其用户:
创建完表以及用户后,退出mysql,并验证用户是否可用,如下:
正常进入mysql,说明刚刚创建的java用户没有问题。接着去配置tomcat相关的配置文件:
<Resource name="jdbc/mytest"
auth="Container"
type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000"
username="java" password="wslinux"
driverClassName="com.mysql.jdbc.Driver"
url="jbc:mysql://127.0.0.1:3306/java_test">
</Resource>
保存文件后还需要修改另外一个配置文件,如下:
<resource-ref>
<description>DB Connection</dexcription>
<res-ref-name>jdbc/mytest</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
既然选择了webapps/ROOT作为实验应用对象,就需要在ROOT目录下常见测试JSP文件,如下:
<%@page import="java.sql.*"%>
<%@page import="javax.sql.DataSource"%>
<%@page import="javax.nsyy.*"%>
<%
Context ctx = new InitialContext();
DataSource ds = (DataSource) ctx
.lookup("java:comp/env/jdbc/mytest");
Connection conn = ds.getConnection();
Statement state = conn.createStatement();
String sql = "select * from wslinux";
ResultSet rs = state.executeQuery(sql);
while (rs.next())
{
out.println(rs.getString("id") + "<tr>");
out.println(rs.getString("name")+"<tr><br>");
}
rs.close();
state.close();
conn.close();
%>
保存后,重启一下Tomcat:
然后在浏览器中访问http://192.168.200.40:8080/t.jsp,就会查询java_test库的syylinux表,并列出具体数据,如下:
这和直接用MySQL命令行查询得到的结果是一致的,如下: