一、 Linux简介
1. 概念
Linux是一款操作系统。和Windows操作系统类似。
2. Linux操作系统的优势
2.1 稳定性
Linux采取了许多安全技术措施,其中有对读、写进行权限控制、审计跟踪、核心授权等技术,这些都为安全提供了保障。
据说Linux系统可以十年不关机,依然保证系统的稳定运行
2.2 安全性
Linux系统在设计的时候就是针对多用户环境的,所以对系统文件,用户文件都做了明确的区分,每个文件都有不同的用户属性,作为一个普通用户,通常只能读写自己的文件,而对一般的系统文件只能读取不能改动,一些敏感的系统文件甚至连读取都是被禁止的,这种设计从根本上保证了系统的安全性,当一个用户文件出现了问题,也不会殃及整个系统。
2.3 软件安装的便利性
Linux中的软件绝大多数支持在线安装。只要在联网状态下通过简单的一个命令就可以完成整个软件的安装,非常的方便快捷。
2.4 内核
Linux的内核只有几兆,非常适合作为一些设备的系统。例如:安卓系统底层就使用的是Linux系统。
二、 VMWare使用
1. 简介
VMWare是一款虚拟化软件。通过VMWare可以实现用软件来模拟真实计算机,每个模拟出来的计算机称为虚拟机。VMWare能够虚拟多台虚拟机。
2.基础页面
三、Linux目录结构及路径
1. 目录
Linux磁盘中默认就一个分区,不像Windows中C盘、D盘、E盘。
CentOS Stream 8中默认根目录下包含下面文件夹。
常用目录:
etc:系统配置目录
root:管理员目录,只用root用户才有权限操作
home:除了root用户以外,其他所有用户都会在home中有一个同名文件夹,且用户对自己的文件夹有完整的操作权限
usr:里面包含local目录,所有用户自己安装的软件都放在local中
tmp:系统临时文件等
bin:命令工具,启动,关闭等
2 . 路径
2.1 绝对路径
从filesystem根目录开始寻找文件
写法:以 / 开头
例如:usr下的local目录, 路径写完: /usr/local
2.2 相对路径
从当前资源所在路径开始寻找,找到其他资源的路径
写法:
1.当前所在目录 ./ (可以省略)
2.当前所在目录的上级目录 ../ (不可省略)
2.3 特殊路径写法
/ 表示根目录
~ 表示直接回到用户根目录路径,
root用户返回到root文件夹的根目录 /root
普通用户返回到home文件夹的根目录 /home
四、常用命令
1. 切换目录(cd)
cd路径 (绝对路径|相对路径)
绝对路径: cd /root
相对路径: cd ./root (./可以省略) -> cd root
2. 查看所在目录(pwd)
pwd
3. 清屏(clear)
clear
4. 查看目录中的资源(ls)
ls 查看的资源名(目录名|文件名)
参数:
ls -l : 详细展示资源信息, 简化ll
5.创建目录(mkdir)
mkdir 路径/目录名: 要求路径中的目录必须存在
比如: mkdir aa/bb 如果没有aa,无法创建bb,必须有aa才能创建bb
参数:
mkdir -p 路径/目录名: 路径中的目录不存在,自动创建
mkdir aa/bb,可以两个都创建
6.移除(rm)
rm 路径/资源名 : 删除文件,有提示
参数:
rm -f : 删除文件,没有提示,直接删除
rm -r : 删除文件 | 目录 , 有提示
rm -f : 删除文件 | 目录 , 没有提示
7.创建文件(touch)
touch 路径/文件名
路径必须存在
8.编辑文件内容(vi | vim)
vi | vim 路径/文件名
注意:
1.编辑步骤
1. 使用 i | insert 这两个键进入编辑状态
2.编辑内容
3.使用Esc, 进入非编辑状态
1. :q 不保存退出(前提没有修改数据)
2. :q! 强制退出
3. :wq 保存退出
4. shift+z+z 保证并退出快捷键
9.文件中末尾添加内容(echo)
echo "内容" >> 路径/文件名
10.查看文件全部内容(cat)
cat 路径/.文件名
11.查看文件部分内容(tail)
tail 路径/文件名: 查看后10行
tail -数字 路径/文件名 : 查看后多少行
tail -f 路径/文件名: 动态监听后10行,当其他系统操作该文件时,能够动态显示
12.剪切(mv)
mv 路径/文件名 | 路径/文件夹 路径 : 把文件剪切到另一个路径下
mv 路径/文件名 | 路径/文件夹 路径/文件名 | 路径文件夹 : 把文件剪切到另一个路径下,并修改文件名
13.复制(cp)
只能复制文件
cp 路径/文件名 路径: 复制文件
cp 路径/文件名 路径/文件名 : 复制文件并改名
复制文件夹 | 文件
参数:
cp -r 路径/文件名 | 路径/文件夹 : 复制文件|文件夹
cp -r 路径/文件名 | 路径/文件夹 路径/文件名 | 路径/文件夹 : 复制文件|文件夹并改名
14.压缩 , 解压(tar)
压缩文件
将文件或者文件夹压缩成 xxx.tar文件或者xxx.tar.gz
tar -cvf xxx.tar 路径/文件夹 | 路径/文件
tar -zcvf xxx.tar.gz 路径/文件夹 | 路径/文件
解压文件
将xxx.tar文件或者xxx.tar.gz解压
tar -xvf 路径/资源(.tar)
tar -zxvf 路径/资源(.tar.gz)
-z:是否具有gzip格式,简单理解扩展名是否是.tar.gz
-c:压缩内容
-x: 解压内容
-v: 显示压缩|解压过程
-f: 必须写到最后,后面紧跟文件路径(有空格)
16.systemctl
systemctl enable 服务名 : 开机自启动
systemctl disable 服务名 : 开机不启动
systemctl start 服务名 : 启动服务
systemctl stop 服务名 : 停止服务
systemctl restart 服务名 : 重启服务
systemctl status 服务名 : 查看状态
常用:关闭Linux防火墙
systemctl stop firewalld 关闭防火墙
systemctl disable firewalld 使防火墙开机不启动
17.查看ip信息
ip addr | ip a
ifconfig
都行
18.查看网络是否可以连接
ping ip地址 判断能否连接上
19.网络在线下载
wget url(下载链接)
五、 设置静态IP
1. 为什么要设置静态IP
在VMWare中安装好的系统已经设置了动态分配IP。
IP生成规则为192.168.xxx.128。其中xxx是网段,是随机的,每个人安装后都是255以内的随机数。
在VMWare中第一个新建虚拟机IP都是128,第二个新建虚拟机为129,以此类推。
由于IP为动态分配,可能出现这样的情况,昨天网段是192.168.136.128,第二天就发生了改变。连接Linux时就需要更改IP,虽然这种情况并不是经常的出现,但是为了防止这种事情,经常会配置静态IP,防止IP自动更改。
2. 修改网段
需要从修改网段开始设置。
VMware 菜单编辑 --> 虚拟网络编辑器 --> 右下角 “更改设置” --> 选择“VMNet 8” -- > 修改子网IP为自己希望的网段 --> DHCP设置中修改两处网段。
网段的数字8不是必须为8,任意小于255的正数都可以。
3. 静态IP的设置
修改ifcfg-ens160文件
注意:
在VMware中是无法复制粘贴的,XShell中可以复制粘贴命令。
Xshell是Linux客户端工具,里面快捷键和Windows不一样。可以鼠标右键,复制或粘贴。
使用vim将ifcfg-ens160文件进行修改
vim /etc/sysconfig/network-scripts/ifcfg-ens160
Linux默认释放22端口
修改内容
添加静态ip等信息
注意:
修改网卡配置信息后需要重新启动系统,重启后新的配置信息生效。
六、Linux 中快照和克隆
1.快照
作用:快照就是备份一份当前系统,类似windows的还原点。使用快照可以还原系统,也可以克隆系统。
要求:快照功能是在关机状态使用的。
2. 克隆功能
作用:可以帮助快速生成一台虚拟机。比重新新建一个虚拟机要快很多。
前提:是有快照或已经存在一台虚拟机。
要求:关机状态
选择克隆类型
[1]链接克隆:链接克隆是通过父虚拟机的快照创建而成,因此节省了磁盘空间,而且克隆速度非常快,但是克隆后的虚拟机性能能会有所下降
[2]完整克隆:完全克隆的虚拟机不依赖源虚拟机,是完全独立的虚拟机
提示:
快照和克隆功能非常有用。
如果操作失败了可以把系统还原,通过快照还原非常方便。
七、 JDK解压版配置步骤
在Linux中配置JDK和在Windows中配置JDK的思想是一样。
唯一的区别:Windows中可视化操作,最终的结果也是写到文件中。Linux是直接操作系统文件。
1. 上传文件
通过Xftp软件,在/usr/soft文件夹下。把JDK压缩包(在当天授课目录/软件中)上传到目录中。
再通过Xshell软件,对软件进行解压,tomcat也是一样的
2. 进入soft目录
cd /usr/soft
3.解压文件
tar -zvxf jdk-8u381-linux-x64.tar.gz
4. 修改文件名(随意,改不改都行)
mv jdk1.8.0_381 jdk8
5. 配置环境变量
为了使Linux在任意路径之下都可以使用jdk中的可执行程序
需要配置环境变量
修改etc目录下的profile文件
vim /etc/profile
找到export
配置JAVA_HOME=jdk的路径
再配置PATH=bin目录的路径,可以使用$JAVA_HOME来引用路径,
因为可能会有其他的环境变量,最后要和之前的PATH拼接起来,使用
:$PATH
5. 解析文件
配置完成需要刷新文件,重新启动Linux或者使用source命令
source /etc/profile
6. 查看配置是否成功
使用 java -version 查看java版本
八、 Tomcat配置步骤
前提:配置了JDK环境变量。
因为Tomcat的底层是java编写的,所以要先配置JDK环境变量
1. 上传
上传Tomcat压缩包/usr/soft。
2. 进入到soft目录
cd /usr/soft
3. 解压
tar -zxvf apache-tomcat-8.5.88.tar.gz
4. 修改文件名(随意)
mv apache-tomcat-8.5.88 tomcat8
5. 启动
进入tomcat8的bin文件夹
cd /usr/soft/tomcat8/bin
执行启动命令
./startup.sh(注意:因为没有配置环境变量,在Linux中要想执行可运行的程序,
需要加上./才能执行)
因为Linux中的Tomcat是后台加载,无法像Idea那样看到日志信息,需要到
Tomcat的logs文件夹下查看
可以使用命令
./startup.sh && tail -f ../logs/catalina.out
启动的同时监听catalina.out文件
小提示:
Tomcat安装好后第一次是没有日志文件的。如果第一次就使用下面的命令进行启动,会报错。
所以必须保证日志文件夹中已经有日志文件了。才能使用并行命令
6. Tomcat的关闭
如果报异常了说明Tomcat已经关闭了,或者没有打开过,或者没有正常关闭。这时需要通过强制关闭方式进行查看是否正常关闭。
6.1 正常关闭
./shutdown.sh
6.2 强制关闭
ps aux|grep tomcat
查询与tomcat相关的进程
kill 进程号 (普通杀死进程,可能杀不死)
kill -9 进程号 (强制杀死进程)
也能关闭tomcat
九、MySQL的安装和配置
我们使用在线下载,最方便
1. 在线下载安装(简单)
1.1 下载镜像库
wget命令表示下载互联网资源,后面跟上要下载资源的地址。
需要先安装MySQL镜像库。
wget https://repo.mysql.com//mysql80-community-release-el8-1.noarch.rpm
1.2 安装镜像库
rpm命令表示安装.rpm文件。.rpm类似Windows中.exe文件。
rpm -ivh mysql80-community-release-el8-1.noarch.rpm
1.3 安装MySQL服务
yum install -y mysql-server
安装过程可能失败,失败了重新运行此命令。
1.4 设置开机自启动
将mysql服务设置为开机自动启动
systemctl enable mysqld
1.5 启动MySQL
systemctl start musqld
因为mysql在安装时,已经自动配置了环境变量,所以可以直接使用
1.6 修改root密码
新安装的mysql默认密码是空
使用mysql -uroot -p
继续在MySQl命令行输入命令,修改密码。
alter user 'root'@'localhost' identified by '新密码';
2. 本地安装(复杂)
感兴趣的朋友可以去搜索一下
3. 设置root用户可以客户端访问
我们查看mysql的表
use mysql;
show tables;
找到user表
select * from user \G;(因为Linux中的表格格式不对,要使用\G进行格式化)
找到用户名为root的内容,将Host中的localhost改为通配符%
这样别的客户端也能访问该Linux中的Mysql
修改root的客户端访问模式是任意
use mysql;
update user set host='%' where user='root';
刷新权限
flush privileges;
退出MySQL命令行
exit
4. 重启MySQL服务
systemctl restart mysqld
5. 关闭防火墙
防火墙已经关闭,可以忽略此步
1.关闭防火墙
systemctl stop firewalld
2.设置防火墙开机不启动
systemctl disable firewalld
6 .在Windows中使用navicat连接
十、发布web项目到Linux并访问
将我们写过的项目部署到Linux中的Tomcat服务器中,通过本机访问Linux去查看项目,模拟了一个项目上线的功能
1. 运行项目在本机进行测试
我们拿前面的项目进行测试
5. 打包web项目为war文件(目前只能手动打包)
5.1 点击菜单
点击Idea菜单"File" -> Project Structure
5.2 添加Artifacts
Web Application Exploded 分开的项目,就是之前写的项目
Web Application Archive 整合起来的,war包
5.3 检查添加结果
添加后会出现myweb:war的一项。其中myweb为项目名称。
只要出现了myweb:war后就可以直接点击下面的OK按钮即可。
myweb:war 下面的myweb:war exploded 是Idea自动创建的。只要运行了这个web项目,就会自动创建这一项。
5.4 生成war文件
war(Web Artifact)文件可以直接放在Tomcat中运行。也是Java Web项目打包后的文件。war文件和jar文件的主要区别是,war打包时可以包含web目录,而jar主要打包src目录内容。
点击IDEA菜单 Build -> Build Artifacts...
在窗口中选择 myweb:war -> Build 。
注意:
千万不要选择myweb:war exploded.
5.5 复制war文件
会在项目根目录出现一个新目录。目录名称为:项目名_war。例如:myweb_war
6. 把war文件上传到Tomcat中
直接把打包好的war文件上传到Linux里安装的Tomcat中,上传到tomcat的webapps文件夹中。
7. 启动Tomcat
Tomcat启动成功后,webapps目录中项目会被自动解压,解压后的文件夹名称为.war文件名。此名称为后面访问时的名称。
8. 测试最终结果
因为在Linux中的Mysql中没有项目需要的表数据,需要将之前项目的表数据添加到Linux的MySQL中 ,使用Navicat.
直接粘贴过来
URL解释说明:
192.168.8.129 为Tomcat所在Linux的IP
8080为Tomcat的端口。没有修改Tomcat端口号,默认就是8080