虚拟机搭建Centos7+Jdk1.8+Tomcat8.5+Mysql8.0

最近公司项目需要用到linux+tomcat+mysql的环境,领导把搭建环境的任务交给了我(老实说没怎么用过linux,脑坑疼)。因为是对Linux不太熟,所以必不可少要百度,但是在网上找的帖子参差不齐,不是这少了步骤,就是哪的命令不对(一看就是粘贴复制的),浪费了我不少时间。写这个帖子的目的,一方面是为了记录一下方便今后使用,另一方面也希望帮助更多有相同需求的朋友少走弯路。废话不多说,下面开始这次的环境搭建。(第一次记笔记,可能有些地方写的不是太好,大家多担待哈)
参考博客
环境搭建
一、环境搭建准备
1.下载并安装VMware虚拟机(可根据使用习惯选择不同的虚拟机软件)
[下载地址]https://my.vmware.com/cn/web/vmware/downloads
这里下载Workstation Pro版本(官网下载是收费的,所以需要激活)
激活教程(这个破解教程也是csdn社区的大佬写的)
https://blog.csdn.net/newbie_907486852/article/details/79824042

2.下载Centos镜像
[下载地址]https://www.centos.org/download/
点击DVD ISO镜像,进行下载
虚拟机搭建Centos7+Jdk1.8+Tomcat8.5+Mysql8.0_第1张图片
[这里根据需求选择不同版本,我下载的是7.6.1810版本的镜像]
虚拟机搭建Centos7+Jdk1.8+Tomcat8.5+Mysql8.0_第2张图片
3.下载Jdk
[下载地址]https://www.oracle.com/technetwork/java/javase/archive-139210.html
[在这里选择所需要使用的版本,这里我选择SE8版本]
虚拟机搭建Centos7+Jdk1.8+Tomcat8.5+Mysql8.0_第3张图片
(注意:下载前需要登录帐号,没有帐号的小伙伴先注册然后在下载。)
选择"Accept License Agreement"(同意下载协议),然后就进行安装包下载。这里我选择的是"tar.gz"免安装版压缩包]
虚拟机搭建Centos7+Jdk1.8+Tomcat8.5+Mysql8.0_第4张图片
4.下载Tomcat
[下载地址]http://tomcat.apache.org/
[选择Tomcat的版本,这里我选择的是Tomcat8]
虚拟机搭建Centos7+Jdk1.8+Tomcat8.5+Mysql8.0_第5张图片
[选择”tar.gz“格式免安装版的包进行下载]
虚拟机搭建Centos7+Jdk1.8+Tomcat8.5+Mysql8.0_第6张图片
5.下载Mysql
[下载地址]https://dev.mysql.com/downloads/mysql/
[选择社区版"Community"-"MySQLCommunityServer "板块,然后向下翻页]
虚拟机搭建Centos7+Jdk1.8+Tomcat8.5+Mysql8.0_第7张图片
[这里可以选择历史版本进行下载,有需要的可以自行下载]
![有兴趣的小伙伴可以在这里选择其它版本进行下载,不需要请向下翻]有兴趣的小伙伴可以在这里选择其它版本进行下载,不需要请向下翻
[翻到这里选择Linux通用版(LinuxGeneric),下载tar.xz免安装压缩包]下载完成,搭建环境的安装包就都准备好了。下面开始环境搭建。
![选择Linux通用版(LinuxGeneric),下载tar.xz免安装压缩包]选择Linux通用版(LinuxGeneric),下载tar.xz免安装压缩包

二、新建Centos7虚拟机
1.新建虚拟机
虚拟机搭建Centos7+Jdk1.8+Tomcat8.5+Mysql8.0_第8张图片
[默认选择"典型",点击"下一步"]
![选择"典型"就好,点击"下一步"]选择"典型"就好,点击"下一步"
[选择稍后安装操作系统,进行下一步]
虚拟机搭建Centos7+Jdk1.8+Tomcat8.5+Mysql8.0_第9张图片
[选择操作系统"Linux",版本Centos64或者32都可以,这里我选择64位,进行下一步]
虚拟机搭建Centos7+Jdk1.8+Tomcat8.5+Mysql8.0_第10张图片
[设置虚拟机名称和存储位置。名称按自己喜好,但是存储位置建议选择其它盘符,不要用系统盘符,这里因为C盘容量够,我选择了默认路径]
虚拟机搭建Centos7+Jdk1.8+Tomcat8.5+Mysql8.0_第11张图片
[系统默认20G,可以根据用途调节容量大小,这里我选择40G,进行下一步]
虚拟机搭建Centos7+Jdk1.8+Tomcat8.5+Mysql8.0_第12张图片
[到一步点击完成,这样一个空的虚拟机就配置完成,接下来安装操作系统]
虚拟机搭建Centos7+Jdk1.8+Tomcat8.5+Mysql8.0_第13张图片
2.安装操作系统
[双击"CD/DVD"选项]
虚拟机搭建Centos7+Jdk1.8+Tomcat8.5+Mysql8.0_第14张图片
[点击浏览,找到刚刚下载的Centos镜像文件,并点击确认]
虚拟机搭建Centos7+Jdk1.8+Tomcat8.5+Mysql8.0_第15张图片
[开启虚拟机]
虚拟机搭建Centos7+Jdk1.8+Tomcat8.5+Mysql8.0_第16张图片
[选择"Install Centos7"]
虚拟机搭建Centos7+Jdk1.8+Tomcat8.5+Mysql8.0_第17张图片
[选择自己熟悉的语言,这里选择中文,点击"继续"]
虚拟机搭建Centos7+Jdk1.8+Tomcat8.5+Mysql8.0_第18张图片
[这里会自动创建分区,点击"开始安装"]
虚拟机搭建Centos7+Jdk1.8+Tomcat8.5+Mysql8.0_第19张图片
[到这里就开始安装操作系统了,在这段时间可以设置管理员密码。然后等待安装完成]
虚拟机搭建Centos7+Jdk1.8+Tomcat8.5+Mysql8.0_第20张图片
[重启系统完成安装]
虚拟机搭建Centos7+Jdk1.8+Tomcat8.5+Mysql8.0_第21张图片
[重启之后看到这个页面,系统就安装完成了]
虚拟机搭建Centos7+Jdk1.8+Tomcat8.5+Mysql8.0_第22张图片
3.登录管理员账号,配置静态IP
[使用 ip addr命令查看当前网卡信息,可以看到网卡名为"ens33"]
虚拟机搭建Centos7+Jdk1.8+Tomcat8.5+Mysql8.0_第23张图片
[使用vi命令修改/etc/sysconfig/network-scripts路径下的ifcfg-ens33配置文件,下面标红部分是我修改和添加的信息。按"i"键进入编辑模式,进行编辑]
虚拟机搭建Centos7+Jdk1.8+Tomcat8.5+Mysql8.0_第24张图片TPROTO=static(启动静态地址协议)
ONBOOT=yes(激活网卡)
GATEWAY=192.168.159.2(网关)
IPADDR=192.168.159.120 (静态ip地址)
NETMASK=255.255.255.0(子网掩码)
DNS=192.168.199.1(DNS)
APRCHEK=no(关闭apr防火墙检测)

[编辑好之后,按下esc,退出编辑模式,按下"Shift+:“输入"wq”,按下回车保存]
虚拟机搭建Centos7+Jdk1.8+Tomcat8.5+Mysql8.0_第25张图片
使用"service network restart"命令重启网络服务,使用"ip addr"命令查看网卡信息,可以看到ip地址配置成功
虚拟机搭建Centos7+Jdk1.8+Tomcat8.5+Mysql8.0_第26张图片
在使用"ping"命令测试网路是否正常,测试的网址随意,这里使用的是百度网址
虚拟机搭建Centos7+Jdk1.8+Tomcat8.5+Mysql8.0_第27张图片出现上面的信息说明网络没有问题,如果不能ping通,可能是刚刚设置的信息有误,仔细检查,改好后,重启网络服务重试

三、安装Jdk和Tomcat
1.使用SFTP工具上传文件到虚拟机(远程工具可以使用xshell、SecureFXPortable等,作者用的是SecureFXPortable)
这里我将三个包分别上传到了root目录下
虚拟机搭建Centos7+Jdk1.8+Tomcat8.5+Mysql8.0_第28张图片
使用"tar"命令将两个包分别解压倒/usr/local目录下

tar -zxvf apache-tomcat-8.5.34.tar.gz -C /usr/local
tar -zxvf apache-tomcat-8.5.34.tar.gz -C /usr/local

使用"cd"命令转到/usr/local目录,在使用"ls"查看

[root@localhost ~]# cd /usr/local
[root@localhost local]# ls
apache-tomcat-8.5.34  etc    include       lib    libexec  share
bin                   games  jdk1.8.0_181  lib64  sbin     src

现在有了解压文件,但是名称过长不好记,使用"mv"命令改个名字,在用"ls"查看

[root@localhost local]# mv apache-tomcat-8.5.34 tomcat8.5
[root@localhost local]# mv jdk1.8.0_181 jdk1.8
[root@localhost local]# ls
bin  games    jdk1.8  lib64    sbin   src
etc  include  lib     libexec  share  tomcat8.5

可以看到上面的包名修改成功,下面开始配置环境变量
使用"vi"命令修改etc目录下的profile配置文件

[root@localhost local]# vi /etc/profile

翻到末行,按下"i"进入编辑模式添加如下代码,"Esc"退出编辑,再使用"wq"保存。

export JAVA_HOME=/usr/local/jdk1.8
export JRE_HOME=/usr/local/jdk1.8/jre
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/li
b/tools.jar
export CATALINA_HOME=/usr/local/tomcat8.5
export TOMCAT_HOME=/usr/local/tomcat8.5
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$CATALINA_HOME/bin

使用"source"命令刷新profile配置文件

[root@localhost local]# source /etc/profile

输入"java -version"检查JDK是否配置成功,成功后会出现如下信息

[root@localhost local]# java -version
java version "1.8.0_181"
Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)

输入/usr/local/tomcat8.5/bin/startup.sh运行Tomcat,运行成功会出现如下信息

[root@localhost local]# /usr/local/tomcat8.5/bin/startup.sh
Using CATALINA_BASE:   /usr/local/tomcat8.5
Using CATALINA_HOME:   /usr/local/tomcat8.5
Using CATALINA_TMPDIR: /usr/local/tomcat8.5/temp
Using JRE_HOME:        /usr/local/jdk1.8/jre
Using CLASSPATH:       /usr/local/tomcat8.5/bin/bootstrap.jar:/usr/local/tomcat8.5/bin/tomcat-juli.jar
Tomcat started.

关闭防火墙,防止远程访问时被防火墙拦截

[root@localhost local]#systemctl stop firewalld
[root@localhost local]# systemctl start  firewalld(启动防火墙)
[root@localhost local]#systemctl stop firewalld(停止防火墙)
[root@localhost local]#systemctl restart firewalld(重启防火墙)
[root@localhost local]# systemctl disable firewalld(禁用防火墙)
[root@localhost local]# systemctl enable firewalld(开机启动防火墙)
[root@localhost local]#systemctl status firewalld (查看防火墙状态)

使用浏览器访问tomcat,看到如下界面,防火墙关闭成功。
虚拟机搭建Centos7+Jdk1.8+Tomcat8.5+Mysql8.0_第29张图片
四.安装MySQL
1.使用"rpm -qa |grep mariadb-lib"centos7自带的mariadb数据库,如果有就需要卸载,不然会和MySQL冲突。出现下图结果就是有

 [root@localhost ~]# rpm -qa |grep mariadb-lib
 mariadb-libs-5.5.60-1.el7_5.x86_64

使用"rpm -e mariadb-libs-5.5.60-1.el7_5.x86_64 --nodeps"进行卸载。然后再次查看,没有返回说明卸载成功

[root@localhost ~]# rpm -e mariadb-libs-5.5.60-1.el7_5.x86_64 --nodeps
[root@localhost ~]#rpm -qa |grep mariadb-lib
[root@localhost ~]#
  1. 使用"rpm -qa |grep libaio"检查是否安装了" libaio"包,如果没有无法运行MySQL数据库。下图有返回,说明有libaio包。
[root@localhost ~]# rpm -qa |grep libaio
libaio-0.3.109-13.el7.x86_64

3.移动到存放MySQL安装包的root目录,使用"xz"命令解压xz包,得到tar包,再使用"tar"命令解压到/usr/local目录,解压可能要一两分钟。

[root@localhost ~]# xz -d mysql-8.0.13-linux-glibc2.12-x86_64.tar.xz
[root@localhost ~]# ls
mysql-8.0.13-linux-glibc2.12-x86_64.tar
[root@localhost ~]# [root@localhost ~]# tar -xvf mysql-8.0.13-linux-glibc2.12-x86_64.tar -C /usr/local

4.解压完成后,移动到/usr/local目录,改目录名称

[root@localhost ~]# cd /usr/local
[root@localhost local]# mv mysql-8.0.13-linux-glibc2.12-x86_64 mysql8.0
[root@localhost local]# ls
bin  games    jdk1.8  lib64    mysql8.0  share  tomcat8.5
etc  include  lib     libexec  sbin      src

5.建立mysql用户和用户

[root@localhost local]# groupadd mysql
[root@localhost local]# useradd -g mysql mysql

6.创建mysql用户密码(密码最好不要小于8位或者太简单)

[root@localhost local]# passwd mysql

7.查看是否创建成功

[root@localhost local]# cat /etc/group |grep mysql
mysql:x:1000:
[root@localhost local]# cat /etc/passwd |grep mysql
mysql:x:1000:1000::/home/mysql:/bin/bash

8.设置目录权限

chown -R mysql.mysql /home/apps/mysql8.0


8.初始化数据库,移动到/usr/local/mysql8.0/bin/目录,初始化数据库(注意"root@localhost:"后面的值,那是数据库root账号的初始密码,第一次登录的时候使用。)

[root@localhost local]# cd /usr/local/mysql8.0/bin/
[root@localhost bin]# ./mysqld --initialize --user=mysql
2018-12-31T10:38:42.915568Z 0 [System] [MY-013169] [Server] /usr/local/mysql8.0/bin/mysqld (mysqld 8.0.13) initializing of server in progress as process 7101
2018-12-31T10:38:46.145473Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: a<.atFqd=4/k
2018-12-31T10:38:48.142408Z 0 [System] [MY-013170] [Server] /usr/local/mysql8.0/bin/mysqld (mysqld 8.0.13) initializing of server has completed

9.使用"vi"在/etc目录下创建my.cnf配置文件

[root@localhost local]# vi /etc/my.cnf

添加内容

[mysqld]
#mysql安装路径
basedir=/usr/local/mysql8.0
#数据库存放路径
datadir=/usr/local/mysql8.0/data
#mysql端口号
port=3306
#允许最大连接数
max_connections=200
#修改服务端默认字符集
character-set-server=utf8
#创建新表时,将使用默认存储引擎
default-storge-engine=INNODB
[mysql]
#修改客户端默认字符集
default_character-set=utf8
#设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8

"wq"保存退出后,修改文件权限

[root@localhost ~]# chmod 777 /etc/my.cnf

9."vi"编辑/usr/local/mysql8.0/support-files/下的mysql.servcer,给在大概46行到47的找到"basedir"和"datadir"添加mysql的安装路径和数据库的存放路径

 # If you change base dir, you must also change datadir. These may get
     44 # overwritten by settings in the MySQL configuration files.
     45
     46 basedir=/usr/local/mysql8.0
     47 datadir=/usr/local/ysql8.0/data
     48
     49 # Default value, in seconds, afterwhich the script should timeout waitin        g

10.使用"cp"命令复制/usr/local/mysql8.0/support-files/目录下的mysql.servcer到/etc/init.d/mysql中

[root@localhost mysql8.0]# cp /usr/local/mysql8.0/support-files/mysql.server /etc/init.d/mysqld

11.使用"service mysqld start"启动mysql,如下以出现"SUCCESS"说明启动成功

[root@localhost ~]# service mysqld start
my_print_defaults: [Warning] World-writable config file '/etc/my.cnf' is ignored.
Starting MySQL.my_print_defaults: [Warning] World-writable config file '/etc/my.cnf' is ignored.
my_print_defaults: [Warning] World-writable config file '/etc/my.cnf' is ignored.
Logging to '/usr/local/mysql8.0/data/localhost.localdomain.err'.
.. SUCCESS!
  1. "service mysqld status"查看状态
[root@localhost ~]# service mysqld status
my_print_defaults: [Warning] World-writable config file '/etc/my.cnf' is ignored.
 SUCCESS! MySQL running (6458)

13.“vi”/etc/profile,在"export PATH"尾部添加mysql环境变量,然后Esc退出wq保存source刷新

[root@localhost ~]# vi /etc/profile
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$CATALINA_HOME/bin:/usr/local/mys
ql8.0/bin
:wq
[root@localhost ~]# source /etc/profile

14."mysql -uroot -p"登录root,出现"Enter password:"输入前面保存的"a<.atFqd=4/k"初始密码(初始密码比较复杂,而且密码不可见,所以容易输错。看清楚,注意大小写)

[root@localhost ~]# mysql -uroot -p
mysql: [Warning] World-writable config file '/etc/my.cnf' is ignored.
Enter password:

修改root登录密码,然后"flush privileges"刷新

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
Query OK, 0 rows affected (0.04 sec)
mysql>flush privileges;

15.设置允许远程登录
"use mysql"进入use库,select user,host from user;查询用户表中的用户和地址

mysql> use mysql;
Database changed
mysql> select user,host from user;
+------------------+-----------+
| user             | host      |
+------------------+-----------+
| mysql.infoschema | localhost |
| mysql.session    | localhost |
| mysql.sys        | localhost |
| root             | localhost |
+------------------+-----------+
4 rows in set (0.00 sec)

使用下列命令,将root的host更换成’%’,即允许所有远程地址都可以访问

mysql> update user set host='%' where user='root';

设置允许root用户登录,并刷新修改

mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
mysql> GRANT ALL ON *.* TO 'root'@'%';
flush privileges;

输入exit退出mysql登录

mysql> exit
Bye
[root@localhost ~]#

在/etc/my.cnf中[mysqld]下添加"skip-name-resolve"然后保存退出(注意:配置skip-name-resolve后不能再配置skip-grant-tables)

[mysqld]
skip-name-resolve

因为前面关闭了centos的防火墙,所以这里我就直接使用浏览器远程访问mysql,我用的firefox。页面出现内容说明远程连接设置成功。
虚拟机搭建Centos7+Jdk1.8+Tomcat8.5+Mysql8.0_第30张图片到这里环境就全部搭建完成了。希望这篇文章对大家有帮助。

你可能感兴趣的