目录
1.进入根目录下(正常服务器连接后所在目录就是根目录),安装jdk并检测jdk版本:
5.启动远程访问,我们启动远程访问首先需要关闭防火墙并且禁止开机启动,接下来通过云服务商网站来配置安全组:
7.进入下载Mysql源安装包,安装Mysql源安装包,安装Mysql服务端,启动Mysql服务,并且检测Mysql安装是否成功
8.查看生成的临时密码,通过临时密码进入mysql,重新设置密码(mysql对密码的格式有限制,通常我们的密码设置的并不会那么复杂,所以也可以修改mysql对密码格式的限制),授权远程登录,刷新权限
1.在修改密码规格限制时遇到的ERROR 1193 (HY000): Unknown system variable 'validate_password_policy'
搭建环境的简单介绍
我尝试的两个服务器都是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文件,例如:
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的代码,测表示本地连接测试成功。
5.启动远程访问,我们启动远程访问首先需要关闭防火墙并且禁止开机启动,接下来通过云服务商网站来配置安全组:
systemctl stop firewalld
systemctl status firewalld
systemctl disable firewalld
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 来访问服务器了
假设我们的服务器中原来是没有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的安装
打开应用管理中的应用详情部分,通过远程连接获取以及口令获取Mysql的默认密码:
我们既可以通过网页中进行远程连接,也可以通过自己的SSH工具来获取密码,同时获取到的还有PHP相关连接的信息,我们可以利用这些来部署Php项目。以及可以利用这个来尝试使用自己的博客平台。
但是当我们使用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