配置Tomcat

首先安装Tomcat

安装Tomcat分为安装Tomcat和安装JDK两个步骤

JDK( Java Development Kit ) 是Sun Microsystems针对Java开发的产品 . 自从Java推出以来 , JDK已经成为使用最广泛的Java SDK . JDK是整个Java的核心 , 他包括了Java运行环境、Java工具和Java基础的类库 .  所以要想运行Java程序必须要有JDK的支持 , 而安装Tomcat的前提也是安装好JDK

安装JDK

# 上传完JDK的包之后 , 把它放到/usr/local/目录下 , 然后解压
[root@DaMoWang ~]# tar xf jdk-10.0.2_linux-x64_bin.tar.gz -C /usr/local/
[root@DaMoWang ~]# cd /usr/local/
[root@DaMoWang local]# mv jdk-10.0./ jdk10
# 设置环境变量
[root@DaMoWang local]# vim /etc/profile
JAVA_HOME=/usr/local/jdk10/
JAVA_BIN=/usr/local/jdk10/bin
JRE_HOME=/usr/local/jdk10/jre
PATH=$PATH:/usr/local/jdk10/bin:/usr/local/jdk10/jre/bin
CLASSPATH=/usr/local/jdk10/lib:/usr/local/jdk10/jre/lib/charsets/jar
[root@DaMoWang local]# source /etc/profile # 使配置文件生效
[root@DaMoWang local]# java -version
java version "10.0.2" --
Java(TM) SE Runtime Environment 18.3 (build 10.0.+)
Java HotSpot(TM) -Bit Server VM 18.3 (build 10.0.+, mixed mode)
# 如果显示的不是java version 而是 openjdk version 那么做如下操作
[root@DaMoWang local]# mv `which java`{,.bak}
[root@DaMoWang local]# source /etc/profile
# 直接使用openjdk也可以

安装Tomcat

# 因为是二进制包 , 所以免去了编译的过程
[root@DaMoWang ~]# tar xf apache-tomcat-9.0..tar.gz
[root@DaMoWang ~]# mv apache-tomcat-9.0./ /usr/local/tomcat
[root@DaMoWang ~]# cd /usr/local/tomcat
[root@DaMoWang tomcat]# bin/startup.sh # 启动Tomcat

使用netstat命令查看是否启动成功

#  正常会有三个端口 、8009和8080 , 其中8080为提供web服务的端口 , 8005为管理端口 , 8009为第三方服务调用的端口 , 比如httpd和Tomcat结合时会用到
[root@DaMoWang tomcat]# netstat -lntp|grep java
tcp6 127.0.0.1: :::* LISTEN /java
tcp6 ::: :::* LISTEN /java
tcp6 ::: :::* LISTEN /java

测试

配置Tomcat

Tomcat的安装过程非常简单 , Tomcat的配置其实并不多

配置Tomcat服务的访问端口

Tomcat默认启动的端口是8080 , 想要修改则需要修改安装目录下conf/server.xml

[root@DaMoWang tomcat]# vim conf/server.xml
# 找到 <Connector port="" protocol="HTTP/1.1" 的行 , 比如修改为80
<Connector port="" protocol="HTTP/1.1 保存退出
# 重启Tomcat服务
[root@DaMoWang tomcat]# bin/shutdown.sh
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr/local/jdk10
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
NOTE: Picked up JDK_JAVA_OPTIONS: --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
[root@DaMoWang tomcat]# bin/startup.sh
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr/local/jdk10
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.

Tomcat的虚拟主机

[root@DaMoWang tomcat]# vim conf/server.xml
# 增加虚拟主机 , 并定义域名, 在</Host>下一行添加新的<Host>
<Host name="www.damowang.cn" appBase="/data/tomcatweb/"
unpackWARs="false" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="/data/tomcatweb/" debug="" reloadable="true" crossContext="true"/>
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="damowang.cn_access_log" suffix=".txt"
pattern="%h %l %u %t &quot;%r&quot; %s %b" />
</Host>
# 保存退出
[root@DaMoWang tomcat]# mkdir -p /data/tomcatweb
[root@DaMoWang tomcat]# echo "damowang" > /data/tomcatweb/.html
# 修改完配置文件之后重启服务
[root@DaMoWang tomcat]# bin/shutdown.sh
[root@DaMoWang tomcat]# bin/startup.sh
# 用curl访问以下刚才创建的1.html
[root@DaMoWang tomcat]# curl -x127.0.0.: www.damowang.cn/.html
damowang

测试Tomcat解析JSP

# 创建一个JSP的测试页面
[root@DaMoWang tomcat]# vim /data/tomcatweb/.jsp
<html><body><center>
Now time is: <%=new java.util.Date()%>
</center></body></html>
# 查看运行结果
[root@DaMoWang tomcat]# curl -x127.0.0.: www.damowang.cn/.jsp
<html><body><center>
Now time is: Fri Jul :: CST
</center></body></html>
# 可以看到中间那段代码被解析成当前系统时间了 , 也可以在物理机上绑定hosts , 用浏览器来测试

Tomcat连接MySQL

Tomcat连接MySQL是通过JDBC驱动实现的

所以需要准备一个包 

mysql-connector-java 可以去官网下载

首先配置mysql , 创建测试用的库、表以及用户

[root@DaMoWang ~]# mysql -uroot -p475541270
mysql> create database java_test;
mysql> use java_test
mysql> grant all on java_test.* to 'java'@'127.0.0.1' identified by 'damowang';
mysql> create table damowang (`id` int(), `name` char());
mysql> insert into damowang values (,'abc');
mysql> insert into damowang values (,'aaa');
mysql> insert into damowang values (,'ccc');
# 退出mysql 去验证java用户有没有问题
[root@DaMoWang ~]# mysql -ujava -pdamowang -h127.0.0.
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is
Server version: 5.7. Source distribution Copyright (c) , , Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>

MySQL配置完后接着配置Tomcat相关的配置文件

[root@DaMoWang ~]# vim /usr/local/tomcat/conf/context.xml
# 在</Context> 上面添加以下内容
<Resource name="jdbc/mytest"  # 可以随便定义,要记住名字,之后会用到
auth="Container"
type="javax.sql.DataSource"
maxActive="" maxIdle="" maxWait=""
username="java" password="damowang"    # 数据库的用户和密码
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://127.0.0.1:3306/java_test">  # 数据库的IP、端口以及库名
</Resource>
# 编辑完之后还需要改另一个配置文件
[root@DaMoWang ~]# vim /usr/local/tomcat/webapps/ROOT/WEB-INF/web.xml # 在</web-app>上面添加
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/mytest</res-ref-name>  # 和之前定义的Resource name保持一致
<res-auth>Container</res-auth>
</resource-ref>

现在要用到刚才准备好的软件包了

[root@DaMoWang ~]# tar xf mysql-connector-java-8.0..tar.gz -C /usr/src/
[root@DaMoWang ~]# mv /usr/src/mysql-connector-java-8.0./mysql-connector-java-8.0..jar /usr/local/tomcat/lib/

测试

[root@DaMoWang ~]# vim /usr/local/tomcat/webapps/ROOT/t.jsp
# java语言写的代码 这个脚本可以去连接我们的数据库
<%@page import="java.sql.*"%>
<%@page import="javax.sql.DataSource"%>
<%@page import="javax.naming.*"%> <%
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 damowang";
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
[root@DaMoWang ~]# /usr/local/tomcat/bin/shutdown.sh 
[root@DaMoWang ~]# /usr/local/tomcat/bin/startup.sh 

用浏览器访问

 连接数据库成功 , 并且显示出了java_test库里的damowang表里面的数据

CentOS 7 配置Tomcat9连接MySQL的更多相关文章

  1. CentOS安装GlassFish4.0 配置JDBC连接MySQL

    转自:http://linux.it.net.cn/CentOS/course/2014/0724/3319.html 版本glassfish-4.0.zip 1.解压,拷贝到指定安装路径   unz ...

  2. spoon(kettle)基本配置(连接Mysql和Oracle)

    1.下载spoon包和驱动 可以去spoon官网下载需要的spoon版本 官网 :http://kettle.pentaho.org/ 下载的最新版本的kettle是:pdi-ce-7.1.0.0-1 ...

  3. SpringBoot配置JDBC连接MySql数据库的时候遇到了报错:HikariPool-1 - Exception during pool initialization

    使用SpringBoot做JAVA开发时,JDBC连接MySql数据库的时候遇到了报错: ERROR 10392 --- [ main] com.zaxxer.hikari.pool.HikariPo ...

  4. linux(centos)上配置nginx、mysql、php-fpm、redis开机启动<转>

    原文 http://levi.cg.am/archives/2925 I.nginx开机启动 在/etc/init.d/目录下创建脚本 1 vi  /etc/init.d/nginx 更改脚本权限 1 ...

  5. WampServer 下载以及安装问题 以及配置远程连接MYSQL

    WampServer 3.0 下载: http://dl.pconline.com.cn/download/52877-1.html 碰到的问题DDL无法添加,解决方法:MSVCR110.DLL fo ...

  6. Centos 源配置 163,epel,mysql

    http://mirrors.163.com/.help/centos.html CentOS7-Base-163.repo # CentOS-Base.repo # # The mirror sys ...

  7. 在centos中php 在连接mysql的时候,出现Can't connect to MySQL server on 'XXX' (13)

    原文连接:http://hi.baidu.com/zwfec/item/64ef5ed9bf1cb3feca0c397c 红色的是命令 SQLSTATE[HY000] [2003] Can't con ...

  8. CentOS 7 配置网络连接

    在VMware workstation12上新建虚拟机,发现无法连接网络.然后查了一些资料,知道了怎样配置网络,记录一下. 1.首先用ifconfig命令查看虚拟机的IP地址及网关信息 观察显示内容, ...

  9. 配置远程连接mysql数据库 Connect to remote mysql database

    设有本地机器(local machine), ip地址为localip 远程机器(remote machine), ip地址remoteip 要通过在local machine的终端连接remote ...

随机推荐

  1. DatagramSocket(邮递员):对应数据报的Socket概念,不需要创建两个socket,不可使用输入输出流。

    UDP编程: DatagramSocket(邮递员):对应数据报的Socket概念,不需要创建两个socket,不可使用输入输出流. DatagramPacket(信件):数据包,是UDP下进行传输数 ...

  2. jq 日期区间处理

    <html lang="en"><head> <meta charset="UTF-8"> <title>Tit ...

  3. js库 - 浅拷贝 & 深拷贝

    学了堆栈内存空间,应该就理解了什么叫简单数据类型存在栈内存,复杂数据类型存在堆内存了. 然后面试中经常会问.业务中也经常会遇到的问题就是深浅拷贝的问题了. 栈内存中简单数据类型直接拷贝就能得到一个副本 ...

  4. Redis 主从配置(Windows版)

    安装从库 1.复制一份 Redis 文件,当做从库. 2.修改从库文件中 redis.windows.conf 的端口号. 3.安装服务,需要重新设置名称.然后去服务中,开启“redis6380”(此 ...

  5. 11.11luffycity(5)

    2018-11-11 17:52:46 昨天和今天把两个接口写完啦! 今天双十一,感觉没啥感觉!!!买了个耳机,原价24, -5-7.  最后12买了 由于这个今天没源码,所以贴上笔记, 越努力,越幸 ...

  6. 让height: 100%生效

    html: <body> <div class="box"></div> </body> css: .box{ position: ...

  7. redis(四)--简单实现Redis缓存中的排序功能

    在实现缓存排序功能之前,必须先明白这一功能的合理性.不妨思考一下,既然可以在数据库中排序,为什么还要把排序功能放在缓存中实现呢?这里简单总结了两个原因:首先,排序会增加数据库的负载,难以支撑高并发的应 ...

  8. 10.17小结:table.copy() 和 distinct 查询

    1. 当datatable 已存在于一个dataset中时,可以使用 ds.tables.add(dt.copy()) 来向dataset 中添加datatable; 2. 当datarow已存在于一 ...

  9. mysql批量更新的两种方式效率试验<二>

    Mysql两种批量更新的对比 简介: mysql搭载mybits框架批量更新有两种方式,一种是在xml中循环整个update语句,中间以‘:’隔开,还有一种是使用case when 变相实现批量更新, ...

  10. 剑指offer——python【第15题】反转链表

    题目描述 翻转一个链表 样例:给出一个链表1->2->3->null,这个翻转后的链表为3->2->1->null 思路 一种比较简单的方法是用“摘除法”.就是先新 ...