1 Linux简述
1.1 Linux系统
1.1.1 概述
Linux系统通俗来讲,就是一款操作系统。跟我们平时用的windows、苹果mac OS系统、手机安卓系统一样。
区别在于,Linux系统是开源的,免费的,支持高并发,高安全性高,主要运用在服务器端。
使用的场景:在软件开发中经常会使用.
JavaWeb项目,项目上线部署,将项目部署到服务器(一般使用的都是Linux系统)之上.
大数据项目来说,hadoop等等框架都是应用在Linux系统之上.
1.1.2 历史
Linux是从Unix系统演变而来的.现在有多个不同的版本. Ubuntu、RedHat、CentOS、Debain、Fedora、SuSE、OpenSUSE等等.
1.1.3 Linux系统的安装
a.不使用windows系统,直接将本机的操作系统换成Linux. 一般服务器都是只有Linux系统没有windows系统.
b.使用虚拟机来构建Linux系统.
常用的虚拟机软件:
VMware Workstation Pro,现在使用非常多的一种.
VMBox,oracle公司退出的一款虚拟机软件.
接下来使用VMware Workstation进行系统的安装:
VMware Workstation的搭建这里就不过多赘述,但是需要注意其版本.
1.1.3.1 搭建虚拟机
1.1.3.1.1 创建新的虚拟机
1.1.3.1.2 选择典型(推荐)
1.1.3.1.3 选择安装操作系统
注:镜像文件下载地址:链接:https://pan.baidu.com/s/1BCkFC3E7Ik-o0XEaa6QGZQ
提取码:0401
1.1.3.1.4 填写虚拟机基本信息
1.1.3.1.4 填写虚拟机名称、选择安装路径
1.1.3.1.5 选择虚拟机磁盘大小
注:
最大磁盘大小:
分配虚拟机硬盘容量,这个容量是动态的容量(磁盘大小),只是设置了磁盘的上线。一般练习:20G足够,做项目的话最好80G以上。
将磁盘存储为单个文件或拆分成多个文件,无所谓,选择哪个都可以。
1.1.3.1.5 设置虚拟机硬件配置
注:
1)内存:选择内存大小,根据本机的配置确定
本机:16G 虚拟机:4G
本机:8G 虚拟机:2G
本机:4G 虚拟机:1G
因为一般集群至少需要3台虚拟机
2)处理器:原则越多越好
3)网络:NAT模式
1.1.3.2 安装Linux系统
1.1.3.2.1 选择Linux系统
1.1.3.2.2 选择系统语言
1.1.3.2.3 选择日期与时间
1.1.3.2.4 选择软件源
1.1.3.2.5 对磁盘进行分区
1) 自动分区
2) 自定义分区
3) 设置用户
1.1.3.3 网络配置
1.1.3.3.1 网络配置的三种模式
1) 桥接模式
优点:配置简单
缺点:各个虚拟机之间不能相互通信
2) NAT模式
优点:各个节点之间通过虚拟机路由器可以相互通信
缺点:配置比较麻烦
3) host-only仅主机模式:一般不使用
1.1.3.3.2 NAT模式网络配置
1) 配置虚拟的路由器(由虚拟机提供)
# 虚拟路由器配置
# VMware WorkStation===>编辑====>虚拟网络编辑器,进行编辑
# 参数值:
# ip地址(子网ip地址),表示所有的虚拟机(链接到虚拟路由器之上的节点)的ip地址的范围
# 192.168.68.0,表示所有的链接的节点的ip地址必须是192.168.68.任意(0-255之间的任意一个数)
# 子网掩码,定义了ip地址的取值范围
# 网关ip,也就是是值,虚拟机路由器的ip地址
2) 编辑网络(修改节点的ip地址)
# 1.修改网络ip地址配置
# 就是修改了一个文件(就表示的是网络配置信息文件)
# /,表示的是系统的根目录
# etc/,表示保存所有的配置信息的文件夹
# sysconfig/,表示系统配置信息的文件夹
# network-script/,表示网络脚本信息的文件夹
# ifcfg-ens33,表示具体的网卡名
vim /etc/sysconfig/network-scripts/ifcfg-ens33
# 2.修改网卡信息
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
# BOOTPROTO,表示是否自动分配ip地址,默认值是dchp表示自动分配
# static,静态表示不自动分配ip地址
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=7caa1a6d-15bf-4dba-b6ab-b893d2ed7cba
DEVICE=ens33
# ONBOOT,表示是否开启启动网卡,yes表示开机启动
# 默认值是no,表示开启不启动
ONBOOT=yes
# 配置网络环境
# 具体的配置的值,需要参考自定义的虚拟路由器的配置
IPADDR=192.168.68.181
NETGATE=255.255.255.0
GATEWAY=192.168.68.1
# DNS1固定
DNS1=114.114.114.114
# DNS2表示本机网关
DNS2=192.168.68.1
# 重启网络服务
systemctl restart network.service
# 3.关闭防火墙,才可以从主机访问到虚拟机(默认开启防火墙的)
# 关闭防火墙
# systemctl,执行系统命令
# stop(停止),表示哪种类型的
# disable,进行开机启动
# status,查看状态
# firewalld.service,表示服务名称
systemctl stop firewalld.service
# 进制开机启动防火墙
systemctl disable firewalld.service
# 查看服务器状态
systemctl status firewalld
# 不仅仅可以针对于防火墙,还可以适用于其他的任何服务
1.1.3.3 克隆虚拟机
1.reboot命令,克隆虚拟机
2.当虚拟机ip相同的时候,不要同时启动相同ip的虚拟机.
3.修改IP及主机名
# 1.登录到其他的计算机
ssh 主机ip地址
输入密码即可登录
# 2.登出
logout
# 3.每次登录都需要输入ip地址,比较麻烦,配置ip地址的映射路径
vim /etc/hosts
# 添加ip地址映射路径
192.168.68.181 bd01
192.168.68.182 bd02
192.168.68.183 bd03
# 4.每次登录其他的节点的时候,都要输入密码,比较麻烦
# 可以配置免密登录
# 1.删除以前的免密信息
# rm -rf ~/.ssh
# 2.创建本机密钥
# ssh-keygen -t rsa
# 3.将密钥分发给其他的节点
# ssh-copy-id 节点ip地址
1.2 使用工具连接虚拟机
Xshell或者MobaXterm
安装包:链接:https://pan.baidu.com/s/1BCkFC3E7Ik-o0XEaa6QGZQ
提取码:0401
1.3 Linux目录
linux的文件系统是采用层级式的树状目录结构,在此结构中的最上层是根目录“/”,然后在此目录下再创建其他的目录。
1) root:该目录为系统管理员目录,root是具有超级权限的用户。
2) bin ->usr/bin:存放系统预装的可执行程序,这里存放的可执行文件可以在系统的任何目录下执行。
3) usr:是linux的系统资源目录,里边存放的都是一些系统可执行文件或者系统依赖的一些文件库。
4) usr/local/bin:存放用户自己的可执行文件,同样这里存放的可执行文件可以在系统的任何目录下执行。
5) lib->usr/lib:这个目录存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件,几乎所有的应用程序都需要用到这些共享库。
6) boot :这个目录存放启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。
7) dev: dev是Device(设备)的缩写, 该目录下存放的是Linux的外部设备,Linux中的设备也是以文件的形式存在。
8) etc: 这个目录存放所有的系统管理所需要的配置文件。
9) home:用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名以用户的账号命名,叫作用户的根目录;用户登录以后,默认打开自己的根目录。
10) var:这个目录存放着在不断扩充着的东西,我们习惯将那些经常被修改的文件存放在该目录下,比如运行的各种日志文件。
11) mnt:系统提供该目录是为了让用户临时挂载别的文件系统,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容
12) opt:这是给linux额外安装软件所存放的目录。比如你安装一个Oracle数据库则就可以放到这个目录下,默认为空。
13) tmp:这个目录是用来存放一些临时文件的。
1.4 Linux基础命令
1.4.1 cd
# 切换文件目录
# root,表示登录的用户名
# localhost,表示登录的主机节点名
# ~,表示当前所在的文件目录
# ~,就表示的是用户的home文件夹
# 如果是root用户,那么路径就是/root/
# 如果是其他用户,那么路径就是/home/用户名/
[root@localhost ~]#
# 命令
cd 文件目录名
# 查看当前文件下的文件
# 显示文件/文件夹的详细信息
ll
# 显示概要信息
ls
# 查看当前文件夹路径
pwd
1.4.2 vi/vim
# vi/vim命令都是Linux系统下的编辑文件的命令
# vim会对文件进行解析,对于关键字会进行高亮提醒
# vi和vim的功能和作用是完全一致的
# vim的三种状态
# 1.进入vim界面的话,进入预览/浏览模式
# 2.从预览模式====>编辑模式,点击i/o
# 3.从编辑模式====>预览模式,点击esc
# 4.从预览模式====>命令行模式,点击:
# 5.从命令模式====>预览模式,点击esc
# 命令行模式的命令:
# wq,小写,保存并推出
# q,直接退出
# q!,强制退出