CentOS8_Tomcat8+JDK1.7+MySQL/MariaDB
主机信息:
[root@redhat8 ~]# cat /etc/redhat-release
CentOS Linux release 8.2.2004 (Core)
[root@redhat8 ~]# uname -r
4.18.0-193.el8.x86_64
[root@redhat8 ~]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:0c:29:15:ba:0c brd ff:ff:ff:ff:ff:ff
inet 192.168.168.155/24 brd 192.168.168.255 scope global noprefixroute ens160
valid_lft forever preferred_lft forever
inet6 fe80::92ab:5fb4:5373:ad53/64 scope link noprefixroute
valid_lft forever preferred_lft forever
关闭SELinux:
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
先卸载系统自带的JDK:
dnf -y remove java*
安装JDK:
tar -zxvf jdk1.7.0_80.tar.gz
mv -f jdk1.7.0_80 /usr/local/jdk
配置JDK的环境变量:
[root@redhat8 ~]# vi /etc/profile
追加:
JAVA_HOME=/usr/local/jdk
JAVA_BIN=/usr/local/jdk/bin
JRE_HOME=/usr/local/jdk/jre
PATH=$PATH:/usr/local/jdk/bin:/usr/local/jdk/jre/bin
CLASSPATH=/usr/local/jdk/jre/lib:/usr/local/jdk/lib:/usr/local/jdk/jre/lib/charsets.jar
使环境变量生效:
[root@redhat8 ~]# source /etc/profile
测试JDK:
[root@redhat8 ~]# java -version
java version "1.7.0_80"
Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)
## 安装Tomcat
tar -zxvf apache-tomcat-8.5.23.tar.gz -C /usr/local/
mv /usr/local/apache-tomcat-8.5.23/ /usr/local/tomcat
运行Tomcat:
[root@redhat8 ~]# /usr/local/tomcat/bin/startup.sh
关闭Tomcat:
[root@redhat8 ~]# /usr/local/tomcat/bin/shutdown.sh
在系统启动的时候,自动启动Tomcat:
echo 'export JAVA_HOME=/usr/local/jdk' >> /etc/rc.local
echo '/usr/local/tomcat/bin/startup.sh' >> /etc/rc.local
[root@redhat8 ~]# chmod a+x /etc/rc.d/rc.local
插入防火墙规则:( 打开TCP 8080 )
firewall-cmd --zone=public --add-port=8080/tcp --permanent
使规则生效:
firewall-cmd --reload
运行Tomcat后,Windows客户端远程测试:
http://192.168.168.155:8080
######
Tomcat设置UTF8编码:
[root@redhat8 ~]# vi /usr/local/tomcat/conf/server.xml
修改为:( URIEncoding="utf-8" )
重启Tomcat:
/usr/local/tomcat/bin/shutdown.sh
/usr/local/tomcat/bin/startup.sh
在默认站点的根目录下创建测试页:
[root@redhat8 ~]# vi /usr/local/tomcat/webapps/ROOT/888.jsp
写入:
<%@ page import="java.util.*"%>
<%@ page import="java.sql.*"%>
<%@ page contentType="text/html; charset=UTF-8" %>
<html>
<head>
<title>中文测试页</title>
</head>
<body>
<center>Welcome,你好</center>
</body>
</html>
Window客户端远程访问的效果:
http://192.168.168.155:8080/888.jsp
############
############
默认情况下,JSP网页是不能连接MySQL/MariaDB数据库的,要做以下配置:
[root@redhat8 ~]# dnf -y install unzip
tar -zxf mysql-connector-java-5.1.40.tar.gz
cd mysql-connector-java-5.1.40
cp mysql-connector-java-5.1.40-bin.jar /usr/local/tomcat/lib/
[root@redhat8 ~]# ll /usr/local/tomcat/lib/mysql-connector-java-*
-rw-r--r--. 1 root root 990927 4月 30 16:30 /usr/local/tomcat/lib/mysql-connector-java-5.1.40-bin.jar
笺注:
实验中,JDK1.7不可以连接MySQL8.0
mysql-connector-java-8.0.15.jar不可以连接MySQL5.7
mysql-connector-java-5.1.40-bin.jar可以连接MySQL5.7、MariaDB10.3
重启Tomcat:
/usr/local/tomcat/bin/shutdown.sh
/usr/local/tomcat/bin/startup.sh
############
############
连接远程MySQL5.7的测试代码:
[root@redhat8 ~]# vi /usr/local/tomcat/webapps/ROOT/my.jsp
写入:
<pre class="html" name="code"><%@ page import="java.io.*"%>
<%@ page import="java.util.*"%>
<%@ page import="java.sql.*"%>
<%@ page contentType="text/html; charset=UTF-8" %>
<html>
<head>
<title>远程MySQL5.7连接测试</title>
</head>
<body>
<%
Connection con = null;
Statement stmt = null;
ResultSet rs = null;
try{
Class.forName("com.mysql.jdbc.Driver");
String dbUrl = "jdbc:mysql://192.168.168.130:3306/data1_db?useUnicode=true&characterEncoding=UTF-8";
String dbUser = "happy";
String dbPwd = "666";
con = DriverManager.getConnection(dbUrl,dbUser,dbPwd);
out.print("远程MySQL5.7连接正常");
}catch(Exception ex)
{
out.print("远程MySQL5.7连接失败<br>"+ex.toString());
}
%>
</body>
</html>
</pre>
############
MySQL5.7的安装可参考:LNMP一键安装包(lnmpa_CentOS6.9)
远程数据库服务器(192.168.168.130)创建测试库、用户:(MySQL5.7)
mysql> create database data1_db default charset utf8 collate utf8_unicode_ci;
Query OK, 1 row affected (0.03 sec)
mysql> grant all on data1_db.* to happy@'%' identified by '666';
Query OK, 0 rows affected, 1 warning (0.11 sec)
远程数据库服务器,插入防火墙规则:
iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
保存防火墙规则:
iptables-save > /etc/sysconfig/iptables
Windows客户端远程测试:
http://192.168.168.155:8080/my.jsp
############
############
远程连接MariaDB的测试代码:
[root@redhat8 ~]# vi /usr/local/tomcat/webapps/ROOT/mm.jsp
写入:
<pre class="html" name="code"><%@ page import="java.io.*"%>
<%@ page import="java.util.*"%>
<%@ page import="java.sql.*"%>
<%@ page contentType="text/html; charset=UTF-8" %>
<html>
<head>
<title>远程MariaDB连接测试</title>
</head>
<body>
<%
Connection con = null;
Statement stmt = null;
ResultSet rs = null;
try{
Class.forName("com.mysql.jdbc.Driver");
String dbUrl = "jdbc:mysql://192.168.168.154:3306/data2_db?useUnicode=true&characterEncoding=UTF-8";
String dbUser = "zhuohua";
String dbPwd = "123";
con = DriverManager.getConnection(dbUrl,dbUser,dbPwd);
out.print("远程数据库MariaDB连接正常");
}catch(Exception ex)
{
out.print("远程数据库MariaDB连接失败<br>"+ex.toString());
}
%>
</body>
</html>
</pre>
############
MariaDB的安装可参考:CentOS8安装LAMP+phpMyAdmin
远程数据库服务器(192.168.168.154)创建测试库、用户:(MariaDB 10.3.17)
MariaDB [(none)]> create database data2_db default charset utf8 collate utf8_general_ci;
Query OK, 1 row affected (0.001 sec)
MariaDB [(none)]> grant all on data2_db.* to zhuohua@'%' identified by '123';
Query OK, 0 rows affected (0.002 sec)
远程数据库服务器,插入防火墙规则:
firewall-cmd --zone=public --add-port=3306/tcp --permanent
使规则生效:
firewall-cmd --reload
Windows客户端远程测试:
http://192.168.168.155:8080/mm.jsp
相关文章:
CentOS8_Tomcat8+JDK1.8+MySQL |