返回列表 发帖

CentOS8_Tomcat8+JDK1.8+MySQL

主机信息:
[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:
yum -y remove java*

安装JDK:
tar -zxvf jdk-8u92-linux-x64.gz
mv -f jdk1.8.0_92/ /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.8.0_92"
Java(TM) SE Runtime Environment (build 1.8.0_92-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.92-b14, 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:
/usr/local/tomcat/bin/startup.sh
图片1.png
2021-4-28 11:40


关闭Tomcat:
/usr/local/tomcat/bin/shutdown.sh
图片2.png
2021-4-28 11:40




在系统启动的时候,自动启动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



检测Tomcat有没有在运行的方法:
[root@redhat8 ~]# yum -y install net-tools

netstat -anp |grep 8080
netstat -anp |grep java
echo $?
注释:返回值为0时,才代表在运行。

图片3.png
2021-4-28 11:41




插入防火墙规则:( 打开 TCP 8080端口 )
firewall-cmd --zone=public --add-port=8080/tcp --permanent

使规则生效:
firewall-cmd --reload



######

默认站点的默认首页文件:
[root@redhat8 ~]# find / -name "index.jsp"
/usr/local/tomcat/webapps/ROOT/index.jsp
/usr/local/tomcat/webapps/examples/jsp/async/index.jsp
/usr/local/tomcat/webapps/examples/jsp/security/protected/index.jsp
/usr/local/tomcat/webapps/host-manager/index.jsp
/usr/local/tomcat/webapps/manager/index.jsp


运行Tomcat后,Windows客户端远程测试:
http://192.168.168.155:8080
图片4.png
2021-4-28 11:42




######

Tomcat设置UTF8编码:
[root@redhat8 ~]# vi /usr/local/tomcat/conf/server.xml
图片5.png
2021-4-28 11:42

修改为:( URIEncoding="utf-8"
图片6.png
2021-4-28 11:43



重启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>
    <img alt="" src="1.png">  #加载默认站点根目录里的图片
</body>
</html>

被加载的图片要存在:
图片7.png
2021-4-28 11:43



Window客户端远程访问的效果:
http://192.168.168.155:8080/888.jsp
图片8.png
2021-4-28 11:44















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

MySQL8.0的安装可参考:CentOS8_Yum安装MySQL8.0

本地MySQL8.0创建测试库:
mysql> create database zhuohua_db default charset utf8 collate utf8_unicode_ci;
Query OK, 1 row affected, 2 warnings (0.01 sec)

给数据库管理员root@localhost设置密码:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '168';
Query OK, 0 rows affected (0.01 sec)



默认情况下,JSP网页是不能连接MySQL数据库的,要做以下配置:
[root@redhat8 ~]# yum -y install unzip

unzip mysql-connector-java-8.0.15.zip
cd mysql-connector-java-8.0.15
cp mysql-connector-java-8.0.15.jar /usr/local/tomcat/lib/

[root@redhat8 ~]# ll /usr/local/tomcat/lib/mysql-connector-java-*
-rw-r--r--. 1 root root 2134905 4月  28 09:38 /usr/local/tomcat/lib/mysql-connector-java-8.0.15.jar

笺注:mysql-connector-java-8.0.15.jar可以连接MySQL5.5、MySQL5.6、MySQL8.0、MariaDB10.3


重启Tomcat:
/usr/local/tomcat/bin/shutdown.sh
/usr/local/tomcat/bin/startup.sh



连接本地MySQL8.0的测试代码:
[root@redhat8 ~]# vi /usr/local/tomcat/webapps/ROOT/mysql.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>本地MySQL8.0连接测试</title>   
</head>   
<body>   
<%   
Connection con = null;   
Statement stmt = null;   
ResultSet rs = null;   
try{   
Class.forName("com.mysql.jdbc.Driver");   
String dbUrl = "jdbc:mysql://localhost:3306/zhuohua_db?useUnicode=true&characterEncoding=UTF-8";   
String dbUser = "root";   
String dbPwd = "168";   
con = DriverManager.getConnection(dbUrl,dbUser,dbPwd);   
out.print("本地MySQL8.0连接正常");  
}catch(Exception ex)   
{   
out.print("本地MySQL8.0连接失败<br>"+ex.toString());
}
%>   
</body>   
</html>      
</pre>  


Windows客户端远程测试:
http://192.168.168.155:8080/mysql.jsp
图片9.png
2021-4-28 11:47






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

连接远程MySQL8.0的测试代码:
[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>远程MySQL8.0连接测试</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("远程MySQL8.0连接正常");  
}catch(Exception ex)   
{   
out.print("远程MySQL8.0连接失败<br>"+ex.toString());
}
%>   
</body>   
</html>      
</pre>  


############
远程数据库服务器(192.168.168.154)创建测试库、用户:(MySQL8.0)
mysql> create database data2_db default charset utf8 collate utf8_general_ci;
Query OK, 1 row affected, 2 warnings (0.04 sec)

mysql> create user zhuohua@'%' identified with mysql_native_password by '123';
Query OK, 0 rows affected (0.04 sec)

mysql> grant all on data2_db.* to zhuohua@'%';
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)


远程数据库服务器,插入防火墙规则:
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload



Windows客户端远程测试:
http://192.168.168.155:8080/mm.jsp
图片10.png
2021-4-28 11:52






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

连接远程MySQL5.5的测试代码:
[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.5连接测试</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/data3_db?useUnicode=true&characterEncoding=UTF-8";   
String dbUser = "happy";   
String dbPwd = "666";   
con = DriverManager.getConnection(dbUrl,dbUser,dbPwd);   
out.print("远程MySQL5.5连接正常");  
}catch(Exception ex)   
{   
out.print("远程MySQL5.5连接失败<br>"+ex.toString());
}
%>   
</body>   
</html>      
</pre>  


############
MySQL5.5的安装可参考:LNMP一键安装包(lamp_Apache2.4用户验证+phpMyAdmin)

远程数据库服务器(192.168.168.130)创建测试库、用户:(MySQL5.5)
mysql> create database data3_db default charset utf8 collate utf8_unicode_ci;
Query OK, 1 row affected (0.51 sec)

mysql> grant all on data3_db.* to happy@'%' identified by '666';
Query OK, 0 rows affected, 1 warning (0.40 sec)


远程数据库服务器,插入防火墙规则:
iptables -I INPUT -p tcp --dport 3306 -j ACCEPT

保存防火墙规则:
iptables-save > /etc/sysconfig/iptables


Windows客户端远程测试:
http://192.168.168.155:8080/my.jsp
图片11.png
2021-4-28 11:54















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

以防关闭系统时卡死,最好先杀死java进程,再关闭、重启服务器

[root@redhat8 ~]# ps -ef | grep java |grep -v grep
root       13622       1  0 09:41 pts/0    00:00:09 /usr/local/jdk/bin/java -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -classpath /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/tomcat -Dcatalina.home=/usr/local/tomcat -Djava.io.tmpdir=/usr/local/tomcat/temp org.apache.catalina.startup.Bootstrap start
[root@redhat8 ~]#
[root@redhat8 ~]# echo $?
0

[root@redhat8 ~]# ps aux | grep java |grep -v grep
root       13622  0.3  8.3 2457280 153788 pts/0  Sl   09:41   0:09 /usr/local/jdk/bin/java -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -classpath /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/tomcat -Dcatalina.home=/usr/local/tomcat -Djava.io.tmpdir=/usr/local/tomcat/temp org.apache.catalina.startup.Bootstrap start
[root@redhat8 ~]#
[root@redhat8 ~]# echo $?
0


[root@redhat8 ~]# kill -9 13622  #杀死进程号
[root@redhat8 ~]#


[root@redhat8 ~]# ps -ef | grep java |grep -v grep
[root@redhat8 ~]# echo $?
1

[root@redhat8 ~]# ps aux | grep java |grep -v grep
[root@redhat8 ~]# echo $?
1
注释:返回值为0时,才代表在运行。



重启服务器:
[root@redhat8 ~]# which init
/usr/sbin/init
[root@redhat8 ~]# init 6





相关文章:
CentOS6_Tomcat+JDK+MySQL

CentOS8_Tomcat8+JDK1.7+MySQL/MariaDB
CentOS8_Tomcat9+JDK1.9+MySQL/MariaDB

Windows2008R2_IIS+PHP Manger+Zend Guard Loader/OPcache

返回列表