返回列表 发帖

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
图片1.png





######

Tomcat设置UTF8编码:
[root@redhat8 ~]# vi /usr/local/tomcat/conf/server.xml
图片2.png
修改为:( URIEncoding="utf-8"
图片3.png


重启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
图片4.png





############
############

默认情况下,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
图片5.png





############
############

远程连接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
图片6.png






相关文章:
CentOS8_Tomcat8+JDK1.8+MySQL

返回列表