Centos8部署jdk、mysql8、tomcat,并部署项目到tomcat中
-
Linux系统的学习与使用(Centos8)
- Linux系统的介绍
- 目录结构
- 使Linux系统能够联网(登录root用户)
- 常用命令
- 安装JDK
-
安装MYSQL8
- 去官网下载对应的mysql8版
- 将其复制到linux系统的/usr/local/tmp目录下并解压
- 将解压后的mysql文件夹复制到/usr/local目录中,并重命名文件夹为mysql
- 进入到mysql目录,创建my.cnf文件,修改并保存
- 将该my.cnf复制一份到/etc/目录下,因为mysql8启动时会在该目录找配置文件
- 添加mysql的用户组及用户,并授权
- 执行命令初始化mysql,并查看初始密码
- 创建软连接
- 将mysql注册成服务,使其可以通过service|systemctl命令控制
- 设置mysql开启自启动并启动mysql服务
- 为mysql添加软连接,使得任何路径下都能使用mysql命令
- 登录mysql(这里的密码是前面初始化mysql时那一步时创建的随机密码),并重新设置root密码,以及开启远程访问
- 安装Tomcat
- 部署项目到Linux的tomcat中
Linux系统的学习与使用(Centos8)
Linux系统的介绍
Linux不是一个具体的操作系统,而是一类操作系统的统称。具体的版本称之为发行版。发行版一般有如下几个
- Red Hat :红帽,目前被IBM收购了。收费版。是目前全球最大的Linux供应商
- CentOs:Red Hat推出的免费版的Linux操作系统
- Ubuntu:图形化页面比较友好的Linux操作系统(免费)
为什么要选择Linux作为服务器运行的操作系统
- 开源免费
- 听说10年不关机依然可以正常运行
- 比Windows更加的安全
目录结构
Linux不同于Windws硬盘进行了分区,分为c盘,d盘等等。
可以理解为Linux只有一个分区。所有的文件都存放在该分区中。
-
ect 存放配置文件,可以想想一下windows的环境变量
-
bin 可执行文件,我们输入的命令,例如cd,ls等都存放在该目录
-
usr/local 相当于Windows安装东西等的默认安装目录
-
var 存放一些临时文件
-
home 除了root用户外,其他用户都会在该目录下有一个同名文件夹。对应的用户对其文件夹有完整的权限
-
root 只有root用户能够操作的目录
使Linux系统能够联网(登录root用户)
- 编辑该网卡配置,开启该网卡
vi /etc/sysconfig/network-scripts/ifcfg-ens33
- 重启该网卡
nmcli c reload ens33
常用命令
cd命令(用于进入到某个目录)
cd ./aa/ 进入到当前目录下的aa文件夹
cd ../bb/ 进入上一级目录下的bb文件夹
cd /home 进入根目录下的home目录
ls、ll命令 (查看某目录下的文件和文件夹)
ls 查看目录下的文件及文件夹。不显示详细信息,只显示名称。
ls -a 功能同上,但是会显示隐藏的文件或文件夹
ll 查看当前目录下的文件及文件夹。显示详细信息。
clear命令(清屏)
clear 清屏
pwd命令(获取当前所在目录)
pwd 执行后会在控制台输出你当前所在的目录
mkdir 命令(创建目录)
mkdir ./aa 在当前目录创建一个aa文件夹
mkdir /home/dqx/bb 在根路径的home目录下的dqx目录下创建一个bb文件夹
特别提示:mkdir 命令如果没有加参数,则只能创建一级的文件夹,如果要在bb目录下创建aa,那么bb则必须先存在。所以有如下指令。
mkdir -p /home/dqx/aa/bb 会创建bb目录。但是如果aa目录或者dqx目录等前面的目录不存在,则会一同创建
rm命令(删除文件或目录)
rm aa.txt 删除当前目录下的aa.txt文件
rm -r /home/dqx/aa 删除 根路径下的 home目录下的dqx目录下的aa文件夹,及其里面的文件或子文件夹。会出现需要确认的提示
rm -rf /home/dqx/aa 功能同上,但是不会提示是否需要删除。
touch 命令(创建文件)
touch a.txt 在当前目录下创建一个文件
vi/vim命令(文本编辑)
vi a.txt 会编辑当前目录下的a.txt文件
按下ESC则进入命令状态
命令状态下按i,看到左下角有insert,则进入输入状态。
命令状态下按 :q 退出当前编辑,(未改动的情况下)
命令状态下按 :wq 写入并退出
命令状态下按 :wq! 强制写入并退出
命令状态下按 dd 会删除光标所在的行
命令状态下按 d + 行号 + enter 会删除指定行号的行
使用vi或者vim命令操作文件时,有时候会出现有临时文件,可以根据需求对临时文件进行操作。例如删除临时文件(在弹出有临时文件的提示时按D),也可以手动rm -rf xxxx.swap临时文件
cat命令(查看数据)
cat a.txt 查看当前目录下a.txt文件的内容
tail命令(查看指定条目数据)
tail a.txt 查看当前目录下a.txt文件的最后10行内容
tail -5 a.txt 查看当前目录下a.txt文件的最后5行内容
tail -f a.txt 动态查看a.txt文件,如果该文件修改,那么我们看到的数据也会修改
mv命令(剪切)
mv 需要移动的文件 目的文件
mv ./a.txt /home/dqx/b.txt 将当前目录下的a.txt文件剪切到根目录下的home目录 下的dqx目录下,并且重命名为b.txt
(注意了,必须要写移动后的文件名)
cp命令(复制)
cp ./a.txt /home/dqx 将当前目录下的a.txt文件复制到/home/dqx文件目录下(可以不用指定复制后的文件名)
cp ./a.txt /home/dqx/b.txt 也可以指定文件名
cp -r ./aa ./bb/ 将aa文件夹复制到bb文件夹中
tar(解压压缩文件)
tar -zxvf 压缩文件
解压 .tar.gz 以及 .tar文件
z:是否具有gzip文件格式,也就是扩展名是否为.tar.gz
x:解压内容
v:是否显示解压过程
f:写到最后,然后紧跟需要被解压的文件
ps命令(查询进程)
ps -ef|grep mysql 查询mysql的全部进程
ps -aux|grep mysql 显示所有包含其他使用者的mysql进程
-e 显示所有进程,环境变量
-f 全格式
kill(杀死进程)
kill -9 进程号 ,-9代表强制删除,无论是否在运行
service命令(主要用于操作系统服务)
service 服务名 start|stop|status|restart
service firewalld stop // 关闭防火墙
systemctl命令(系统控制)
systemctl disable firewalld // 关闭防火墙开机自动启动
systemctl enable firewalld // 与上相反
安装JDK
将下载好的压缩版的linux版本的JDK下载到/usr/local/tmp文件夹下
tmp文件夹是自己创建的
使用tar -zxf命令解压该压缩包
将解压后的文件夹复制到/usr/local目录下,并命名为jdk
为jdk配置环境变量,/etc/profile
- 打开配置环境变量的文件
vim /etc/profile
保存退出。 - 重新解析该配置文件
source /etc/profile
java环境测试是否安装成功
如若以下三个命令都能找到指令,则代表jdk环境配置好了
java -version
javac
java
安装MYSQL8
去官网下载对应的mysql8版
将其复制到linux系统的/usr/local/tmp目录下并解压
将解压后的mysql文件夹复制到/usr/local目录中,并重命名文件夹为mysql
进入到mysql目录,创建my.cnf文件,修改并保存
cd /usr/local/mysql
vim my.cnf
# my.cnf文件配置如下,请自行按照需求更改
[mysqld]
# 端口
port=3306
# 基础mysql路径
basedir=/usr/local/mysql/
# mysql的数据存储路径
datadir=/usr/local/mysql/data/
# 出现错误的日志文件路径
log-error=/usr/local/mysql/data/error.log
# mysql以socket方式运行的sock文件位置
socket=/tmp/mysql.sock
# 进程id文件的位置
pid-file=/usr/local/mysql/data/mysql.pid
# 服务器使用的字符集
character-set-server=utf8mb4
# 使表名不区分大小写,如果为0则区分
lower_case_table_names=1
# innodb日志大小
innodb_log_file_size=1G
# 默认使用的引擎
default-storage-engine=INNODB
# 默认使用的验证插件
default_authentication_plugin=mysql_native_password
[mysql]
default-character-set=utf8mb4
[client]
# 端口号
port=3306
# 客户端默认字符集
default-character-set=utf8mb4
将该my.cnf复制一份到/etc/目录下,因为mysql8启动时会在该目录找配置文件
cp /usr/local/mysql/my.cnf /etc/
添加mysql的用户组及用户,并授权
# 创建用户组,名为mysql
groupadd mysql
# 创建一个用户 -r代表创建系统用户, -g代表指定用户组,所以用户名为mysql,所属的用户组也是mysql
useradd -r -g mysql mysql
# 将mysql目录的所有者设置为mysql用户,所属的组设置为mysql组
chown -R mysql:mysql /usr/local/mysql/
执行命令初始化mysql,并查看初始密码
# 初始化mysql数据
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
# 查看初始化密码
cat /usr/local/mysql/data/error.log
创建软连接
# 创建的原因是因为mysql使用的libtinfo.so是5的,而centos默认是使用6的,所以要替换成5
# 创建一个软连接/usr/lib64/libtinfo.so.5 ,指向/usr/lib64/libtinfo.so.6
ln -s /usr/lib64/libtinfo.so.6 /usr/lib64/libtinfo.so.5
ln -s /usr/lib64/libncurses.so.6 /usr/lib64/libncurses.so.5
将mysql注册成服务,使其可以通过service|systemctl命令控制
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
设置mysql开启自启动并启动mysql服务
# 设置开机自启动
systemctl enable mysql
# 启动mysql服务
service mysql start
为mysql添加软连接,使得任何路径下都能使用mysql命令
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
登录mysql(这里的密码是前面初始化mysql时那一步时创建的随机密码),并重新设置root密码,以及开启远程访问
修改当前root密码
创建一个所有ip都能访问的root用户,并授予所有权限
# 创建一个root用户,%代表所有ip都可访问
create user 'root'@'%' identified by 'root';
# 为该用户赋予所有权限,并且使其也可以赋予权限给其他用户
grant all privileges on *.* to 'root'@'%' with grant option;
# 刷新权限
flush privileges;
使用navicat测试连接
安装Tomcat
下载Linux版的tomcat
将下载下来的文件放入linux系统的/usr/local/tmp目录下,然后执行如下操作
# 进入该目录
cd /usr/local/tmp/
# 解压,这个压缩包的名称按照你下载的来
tar -zxf apache-tomcat-8.5.69.tar.gz
# 将其复制到/usr/local目录下,并重命名为tomcat
cp -r apache-tomcat-8.5.69 /usr/local/tomcat
进入tomcat的bin目录,开启tomcat服务
# 进入目录
cd /usr/local/tomcat/bin
# 开启tomcat
./startup.sh
# 关闭tomcat
./shutdown.sh
部署项目到Linux的tomcat中
首先将我们的项目打包成war包
war包本质上就是tomcat可以识别的一个压缩包。与jar无异。
将该war包放入tomcat服务器的webapps目录下
启动tomcat
/usr/local/tomcat/bin/startup.sh
查看tomcat错误日志
如果将war包放入tomcat的webapps目录下,然后启动tomcat无法正常访问。可以看看tomcat的日志
tomcat的日志在tomcat安装根路径下的logs文件夹目录中。其中有一个catalina.out的文件,查看该文件即可看到tomcat的启动日志信息。