CentOS7.3环境下JavaWeb环境的搭建——JDK、Tomcat、Mysql的安装

目录

搭建环境的简单介绍

 安装的步骤解析以及相关知识

1.进入根目录下(正常服务器连接后所在目录就是根目录),安装jdk并检测jdk版本:

2.进入我们通常应用的安装目录进行下载:

 3.重命名文件并进行解压

4.进入安装目录,运行启动文件,并进行服务器本地端口测试:

5.启动远程访问,我们启动远程访问首先需要关闭防火墙并且禁止开机启动,接下来通过云服务商网站来配置安全组:

6.至此我们就可以通过:ip:8080 来访问服务器了

7.进入下载Mysql源安装包,安装Mysql源安装包,安装Mysql服务端,启动Mysql服务,并且检测Mysql安装是否成功

8.查看生成的临时密码,通过临时密码进入mysql,重新设置密码(mysql对密码的格式有限制,通常我们的密码设置的并不会那么复杂,所以也可以修改mysql对密码格式的限制),授权远程登录,刷新权限

9.开启mysql的开机启动

 10.修改配置文件,使得mysql开始支持中文

11.重启配置文件,并且对相关的缓存文件进行清除

通过指令组的快速安装

服务器中有Mysql时候Mysql的安装

可能遇到的一些问题以及解决思路

1.在修改密码规格限制时遇到的ERROR 1193 (HY000): Unknown system variable 'validate_password_policy'

2.原来的密码简单不符合mysql的安全引起的ERROR 1819 (HY000): Your password does not satisfy the current policy requirements。

3.服务器启动问题ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

Mysql的完全卸载

Tomcat的重启


搭建环境的简单介绍

我尝试的两个服务器都是CentOS7.3下的WordPress镜像,不同的区别在于有一个已经安装了相关的应用,并且引用程序中包括了MySQL,而另一个中没有相关的应用更没有MySQL。我们部署的是Java的jdk运行环境以及Tomcat服务器,这两者的安装在两个服务器都是相同的,如果原系统中没有mysql那么mysql的安装正常安装即可,如果有的话则需要卸除并且要卸除干净不然的话会引出新安装的

 安装的步骤解析以及相关知识

有关jdk、tomcat的安装我们先解析各个步骤,最后会给出一个连串的指令实现一步到位的安装:

1.进入根目录下(正常服务器连接后所在目录就是根目录),安装jdk并检测jdk版本:

cd ~
yum -y install java-1.8.0-openjdk*
java -version

yum指令的基本格式是:yum [options] [command] [package ...]

options:可选,选项包括-h(帮助),-y(当安装过程提示选择全部为"yes"),-q(不显示安装的过程)等等,command是要执行的命令,package是相对应要进行操作的对象。

command命令中:install:安装rpm软件包、 update:更新rpm软件包; check-update:检查是否有可用的更新rpm软件包; remove:删除指定的rpm软件包; list:显示软件包的信息; search:检查软件包的信息; info:显示指定的rpm软件包的描述信息和概要信息; clean:清理yum过期的缓存; shell:进入yum的shell提示符; resolvedep:显示rpm软件包的依赖关系; localinstall:安装本地的rpm软件包; localupdate:显示本地rpm软件包进行更新;deplist:显示rpm软件包的所有依赖关系。

2.进入我们通常应用的安装目录进行下载:

 cd /usr/local
wget https://mirror.bit.edu.cn/apache/tomcat/tomcat-9/v9.0.34/bin/apache-tomcat-9.0.34.tar.gz

首先介绍一下linux中的根目录下的文件夹的作用:

目录  说明  备注
/bin   /sbin   保存系统命令  /bin所有用户都能执行,/sbin只有root用户才能执行的命令。
/boot   启动目录  这里保存的是用户的启动数据
/dev  系统硬件设备文件   
/etc   系统默认配置文件   
/home /root  家目录   普通/超级用户的
/lib  /lib64  linux中函数库  (操作系统中不是把所有的功能都写在linux中,把一些常用的功能写成一个一个的函数库,需要时直接从这里调用即可)的保存位置
/mnt /media   系统分配的挂载目录  比如说后面挂载光盘,移动硬盘,usb闪存等设备。
/proc  /sys  内存的挂载点  也就是说它两是内存的盘符,这俩目录中的数据是直接写在内存中。
/tmp  存放临时文件的目录   
/usr   系统资源保存目录  /usr:应用程序存放目录,/usr/bin 存放应用程序,/usr/share 存放共享数据,/usr/lib 存放不能直接运行的,却是许多程序运行所必需的一些函数库文件。/usr/local: 存放软件升级包。/usr/share/doc: 系统说明文件存放目录。/usr/share/man: 程序说明文件存放目录,使用 man ls 时会查询 /usr/share/man/man1/ls.1.gz 的内容建议单独分区,设置较大的磁盘空间
/var  系统相关文档内容   
/opt  第三方应用包存放处  遵守FSSTND的话
/lost+found  挂载分区相关文件夹  每个磁盘分区挂载后都有一个这样的文件夹,平时是空的,一旦系统发生异常,一些无家可归的文件就来到这里了
/run  系统运行时所需文件   
/srv  系统数据目录  服务启动后需要访问的数据目录
/snap  ubunut全新软件包管理方式  snap软件包一般在/snap这个目录下 centos没有

wget命令用来从指定的URL下载文件。wget非常稳定,它在带宽很窄的情况下和不稳定网络中有很强的适应性,如果是由于网络的原因下载失败,wget会不断的尝试,直到整个文件下载完毕。如果是服务器打断下载过程,它会再次联到服务器上从停止的地方继续下载。这对从那些限定了链接时间的服务器上下载大文件非常有用。有关wget更多指令的相关信息可以参考:https://blog.csdn.net/qq_27870421/article/details/91951402

在这里我们wget后面文件的下载地址最好自己去官网上找,避免地址失效,linux中我们下载的一般是tar.gz文件,例如:

CentOS7.3环境下JavaWeb环境的搭建——JDK、Tomcat、Mysql的安装_第1张图片

 3.重命名文件并进行解压

 mv apache-tomcat-9.0.34.tar.gz tomcats
tar -zxvf tomcats
 mv apache-tomcat-9.0.34 tomcat

mv 命令用来为文件或目录改名、或将文件或目录移入其它位置。-i: 若指定目录已有同名文件,则先询问是否覆盖旧文件;-f: 在 mv 操作要覆盖某已有的目标文件时不给任何指示;

mv 文件名 文件名 将源文件名改为目标文件名
mv 文件名 目录名 将文件移动到目标目录
mv 目录名 目录名 目标目录已存在,将源目录移动到目标目录;目标目录不存在则改名
mv 目录名 文件名 出错

 tar命令是一个用来进行解压缩的命令,使用的过程中可以参考:

https://www.cnblogs.com/jyaray/archive/2011/04/30/2033362.html

https://blog.csdn.net/eroswang/article/details/5555415/

4.进入安装目录,运行启动文件,并进行服务器本地端口测试:

cd tomcat/bin
 ./startup.sh
curl http://localhost:8080

curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具。它支持文件的上传和下载,是综合传输工具,但按传统,习惯称url为下载工具。curl的使用我们可以参考:https://www.cnblogs.com/duhuo/p/5695256.html ;有关具体单个指令的介绍可以参考:http://www.ruanyifeng.com/blog/2019/09/curl-reference.html

最后的curl命令的执行是需要一段时间的,如果最后出现了html的代码,测表示本地连接测试成功。

CentOS7.3环境下JavaWeb环境的搭建——JDK、Tomcat、Mysql的安装_第2张图片

5.启动远程访问,我们启动远程访问首先需要关闭防火墙并且禁止开机启动,接下来通过云服务商网站来配置安全组:

systemctl stop firewalld
systemctl status firewalld
systemctl disable firewalld

CentOS7.3环境下JavaWeb环境的搭建——JDK、Tomcat、Mysql的安装_第3张图片

CentOS7.3环境下JavaWeb环境的搭建——JDK、Tomcat、Mysql的安装_第4张图片

 systemd是一个系统管理命令,他取代了init.d,成为系统的第一个进程(PID 等于 1),其他进程都是它的子进程。Systemd 的优点是功能强大,使用方便,缺点是体系庞大,非常复杂。事实上,现在还有很多人反对使用 Systemd,理由就是它过于复杂,与操作系统的其他部分强耦合,违反"keep simple, keep stupid"的Unix的哲学。我们在这里使用的systemdl是systemd的一个主命令。systemctl disable命令用于在两个目录之间,相当于撤销开机启动。更多有关systemd(systemdl)的相关命令我们可以参考:http://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-commands.html

firewalld是防火墙服务的一个守护程序,实现了动态修改拥有 D-Bus 接口基于主机的防火墙,也就是说在不需要重启防火墙程序的基础上,就可以实现对防火墙规则,增、删、改的操作。

6.至此我们就可以通过:ip:8080 来访问服务器了

CentOS7.3环境下JavaWeb环境的搭建——JDK、Tomcat、Mysql的安装_第5张图片

 假设我们的服务器中原来是没有mysql的

7.进入下载Mysql源安装包,安装Mysql源安装包,安装Mysql服务端,启动Mysql服务,并且检测Mysql安装是否成功

cd ~
wget http://repo.mysql.com/mysql57-community-release-el7-10.noarch.rpm
rpm -Uvh mysql57-community-release-el7-10.noarch.rpm
yum install -y mysql-community-server
systemctl start mysqld.service
systemctl status mysqld.service

 最后的一句命令只要没有报错就说明安装成功,

8.查看生成的临时密码,通过临时密码进入mysql,重新设置密码(mysql对密码的格式有限制,通常我们的密码设置的并不会那么复杂,所以也可以修改mysql对密码格式的限制),授权远程登录,刷新权限

grep 'temporary password' /var/log/mysqld.log 
mysql -uroot -p

输入通过第一条命令产生的密码,如果要是本机安装过mysql或者是说mysql的卸载不完整这时候系统并不会生成临时密码,之心上面的第一条指令也就不会有任何结果。gep指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设 grep 指令会把含有范本样式的那一列显示出来。若不指定任何文件名称,或是所给予的文件名为 -,则 grep 指令会从标准输入设备读取数据。这条命令的功能也就是从日志文件中查找生成的临时密码。grep命令的使用我们可以参考:https://www.runoob.com/linux/linux-comm-grep.html

set global validate_password_policy=0;
set global validate_password_length=1;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'YourPassword';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'YourPassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
quit;

 朋友们一定记得把这里的YourPassword改成你自己的密码哦,退出mysql的命令我们是将通过quit

9.开启mysql的开机启动

systemctl enable mysqld
systemctl daemon-reload

 10.修改配置文件,使得mysql开始支持中文

vim /etc/my.cnf
将配置文件改称为如下形式:
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
 
[mysql]
default-character-set=utf8
 
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
default-storage-engine=INNODB
character_set_server=utf8
 
symbolic-links=0
 
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

有关vim的使用,vim可以看成是vi的一个升级版,他可以用颜色来标记一些信息。我们用vim打开一个按 i 键后  进入insert模式,进入insert模式后才能进行修改,修改完成后按esc键进入command模式按ESC键 跳到命令模式,然后:

  •  :w 保存文件但不退出vim
  •  :w file 将修改另外保存到file中,不退出vim
  •  :w! 强制保存,不推出vim
  •  :wq 保存文件并退出vim
  •  :wq! 强制保存文件,并退出vim
  •  q: 不保存文件,退出vim
  •  :q! 不保存文件,强制退出vim
  •  :e! 放弃所有修改,从上次保存文件开始再编辑

11.重启配置文件,并且对相关的缓存文件进行清除

service mysqld restart
rpm -qa | grep mysql
yum -y remove mysql57-community-release-el7-10.noarch

 对文件进行清除的时候我们文件的名字要搞对,这个与安装的时候安装的是什么文件是有关的。

通过指令组的快速安装

至此整个系统的配置以及完成,在实际配置的过程中我们实际上并不需要要一条一条的拷贝执行,我们可以一次性的执行若干条命令:

cd ~
yum -y install java-1.8.0-openjdk*
wget https://mirror.bit.edu.cn/apache/tomcat/tomcat-9/v9.0.34/bin/apache-tomcat-9.0.34.tar.gz
tar -zxvf  apache-tomcat-9.0.34.tar.gz
mv apache-tomcat-9.0.34 tomcat
 cd tomcat/bin
 ./startup.sh
systemctl stop firewalld
systemctl status firewalld
systemctl disable firewalld

 进行第五步中的安全组设置

cd ~
wget http://repo.mysql.com/mysql57-community-release-el7-10.noarch.rpm
rpm -Uvh mysql57-community-release-el7-10.noarch.rpm
yum install -y mysql-community-server
systemctl start mysqld.service
systemctl status mysqld.service
grep 'temporary password' /var/log/mysqld.log 
mysql -uroot -p

输入临时密码

set global validate_password_policy=0;
set global validate_password_length=1;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Lml@18862283081';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Lml@18862283081' WITH GRANT OPTION;
FLUSH PRIVILEGES;
quit;
systemctl enable mysqld
systemctl daemon-reload
vim /etc/my.cnf

编辑第十步中的配置文件

service mysqld restart
rpm -qa | grep mysql
yum -y remove mysql57-community-release-el7-10.noarch

服务器中有Mysql时候Mysql的安装

CentOS7.3环境下JavaWeb环境的搭建——JDK、Tomcat、Mysql的安装_第6张图片

 打开应用管理中的应用详情部分,通过远程连接获取以及口令获取Mysql的默认密码:

CentOS7.3环境下JavaWeb环境的搭建——JDK、Tomcat、Mysql的安装_第7张图片

CentOS7.3环境下JavaWeb环境的搭建——JDK、Tomcat、Mysql的安装_第8张图片

 我们既可以通过网页中进行远程连接,也可以通过自己的SSH工具来获取密码,同时获取到的还有PHP相关连接的信息,我们可以利用这些来部署Php项目。以及可以利用这个来尝试使用自己的博客平台。

CentOS7.3环境下JavaWeb环境的搭建——JDK、Tomcat、Mysql的安装_第9张图片

 但是当我们使用mysql -uroot -p进行登录的时候,有可能会发生-bash: mysql: command not found的错误这是因为系统默认会查找/usr/bin下的命令。如果这个命令不在这个目录下,当然会找不到命令。我们需要做的就是映射一个链接到/usr/bin目录下,相当于建立一个链接文件。

ln -s /usr/local/mysql/bin/mysql /usr/bin

 这时候我们已经进到我们的数据库,我们可以对我们的密码进行修改,以及远程的访问限制进行修改,这一部分可以参考上面的方法。

可能遇到的一些问题以及解决思路

1.在修改密码规格限制时遇到的ERROR 1193 (HY000): Unknown system variable 'validate_password_policy'

这是由于不同版本中变量的名称可能不同从而引起的,找不到变量名,我们可以通过表格查询找出具体的变量名,然后再进行修改。这个问题的解决可以参考

https://blog.csdn.net/qq_36850813/article/details/83717828

2.原来的密码简单不符合mysql的安全引起的ERROR 1819 (HY000): Your password does not satisfy the current policy requirements。

这个我们解决的思路就是修改密码规格的限制,或是重新修改密码使得符合规范,先上面的有关于第一个思路的解决办法,重新修改密码提高密码等级我们可以参考:

https://blog.csdn.net/muziljx/article/details/81541896

https://www.cnblogs.com/rusking/p/10561432.html

3.服务器启动问题ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

这个问题是在有Mysql的时候再次安装的时候遇到的,详细的解决办法可以参考:

https://www.cnblogs.com/Lam7/p/6090975.html

Mysql的完全卸载

https://blog.csdn.net/typa01_kk/article/details/49057073

Tomcat的重启

进入tomcat的根目录,一般都是在/usr/locat/tomcat/bin中但是也有可能是在其他的地方,就像我们的这个教程中的就是安装在了root目录下

cd /usr/local/tomcat/bin

 关闭tomcat:

./shutdown.sh

 检测是否完全关闭:

ps -ef|grep java

 如果出现如下的情况,就说明没有完全关闭,这时候我们需要使用kill来杀死进程:

 kill -9 7010

在检测如果还存在的话继续使用kill杀死进程直至出现:

 表示我们的tomcat完全关闭,这时候再启动tomcat:

 ./startup.sh 

 

你可能感兴趣的:(CentOS7.3环境下JavaWeb环境的搭建——JDK、Tomcat、Mysql的安装)