个人相关ip信息
Linux简介
不同应用领域的主流操作系统
- 桌面操作系统
- windows
- Mac OS
- Linux
- 服务器OS
- UNIX
- Linux
- Windows Server
- 移动设备
- Android
- ios
- 嵌入式操作系统
- Linux(交换机等)
Linux发展历史和系统版本
- 企业级应用:RHEL/CentOS
- 桌面平台:Ubuntu
- 开源服务器:CentOS
现如今我们一般称 Linux 为 GNU/Linux。
Linux 实际上只是⼀个内核,这正是 GNU 系统的⼀个重要空⽩,⽽ GNU 系统也为 Linux 内核提供了⾮常多且必要的系统组件,⼈们把 Linux 和GNU 系统结合起来组成⼀个完整的⾃由系统——⼀个带有 Linux 的 GNU 系统。换句话说,就是 GNU/Linux 系统。
GNU 的含义就很宽泛了:
可以指代操作系统——GNU 操作系统
可以指代软件——GNU 软件
可以指代为了完成这个操作系统⽽发起的庞⼤的⼯程——GNU ⼯程
或者是想要完成 GNU 系统/⼯程⽽聚集在⼀起的⼀帮⼈——GNU 组织
甚⾄ GNU 是⼀种精神或者信仰
Linux 发行线路图 GitHub 地址:https://github.com/FabioLolix/LinuxTimeLine/releases
Linux安装
安装方式
- 物理机安装
- 虚拟机安装
安装
- 安装VMWare
- 安装CentOS镜像
网卡设置
安装SSH连接工具
Linux 的文件系统
万事万物皆文件
文件系统:操作系统如何管理文件,内部定义了一些规则或者定义。在 Linux 中所有的东西都是以文件的方式进行操作,在 Linux 中,文件的访问和 Window 的不一样。Window 依靠的是通过盘符进行访问,而 Linux 维护着一个树状结构的文件模型,只有一个根节点,他的名字叫做 / ,一个节点上可以有多个子节点。
Linux常用命令
Linux 命令在线查询:https://www.linuxcool.com/
- 命令模式:每一个按键都有其具体的功能。
- 编辑模式:输入什么就是什么。
- 底行(命令行)模式:保存文件或对文件中的指定内容执行查找或替换等操作。
文件操作命令小结
cd 改变当前工作目录
ls / ll 显示指定目录下所有文件
mkdir 创建文件目录
rmdir 删除空文件夹
cp 拷贝文件或文件目录
mv 移动文件或文件夹
rm 删除
touch 没有就新建一个
stat 查看文件状态
读取文件信息小结
cat 一次性显示整个文档(load到内存),除非接管道,传递数据
tac 和上一样,逆序显示
more less 分页查看
head 从头开始读
tail 从末尾读
find 查找指定文件
Linux的系统进程
// 进程信息
ps -ef
UID 所属用户
PID 当前进程编号
PPID 当前进程编号的父进程编号
ps -ef | grep redis
ps -aux 所有信息
top 当前服务器内存使用率
// 后台进程 只需要在命令的后面添加一个 & 符号即可将进程切换为后台执行
//杀死进程 kill -9 17599
Linux软件安装
rpm 命令来自于英文语句 “RedHat Package Manager” 的缩写,中文译为红帽软件包管理器,其功能是用于在Linux/RedHat 系列系统下对软件包进行安装、卸载、查询、验证、升级等工作
[root@node01 ~]# rpm [选项] 软件包
yum 命令是基于 RPM 的软件包管理器,它可以使系统管理人员交互和自动化地更新与管理 RPM 软件包,能够从指定
的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下
载、安装。
yum 提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。该命令基本格式如下:
[root@node01 ~]# yum [选项]
// 安装 MySQL 数据库
// MySQL 的下载地址:https://downloads.mysql.com/archives/community/
# 安装 MySQL 依赖
yum -y install perl net-tools openssl-devel
# 卸载 mariadb
rpm -qa | grep mariadb
rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64
# 安装 MySQL
tar -xvf mysql-8.0.18-1.el7.x86_64.rpm-bundle.tar
rpm -ivh mysql-community-common-8.0.18-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.18-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.18-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.18-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-8.0.18-1.el7.x86_64.rpm
# 启动 MySQL
systemctl start mysqld
# 查找密码并登陆 MySQL
cat /var/log/mysqld.log | grep password
mysql -u root -p
# 修改 MySQL 密码
SET GLOBAL validate_password.policy = low;
SET GLOBAL validate_password.length = 6;
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
# 允许远程用户登录访问 MySQL
USE mysql;
UPDATE user SET host = '%' WHERE user = 'root';
COMMIT;
FLUSH PRIVILEGES;
EXIT;
# 接下来即可使用 Navicat 等客户端工具连接 MySQL
项目部署
- 手工部署
③启动SpringBoot程序 java -jar helloworld-1.0-snapshop.jar
- shell脚本自动部署
[CentOS7.6] 的下载安装 (保姆级讲解)
CentOS 7 生命周期到 2024 年 6 月 30 日:
Linux 官网:https://linux.org/
Linux 下载页面:https://linux.org/pages/download/
CentOS 下载地址:https://wiki.centos.org/Download
阿里云 CentOS 镜像站:https://mirrors.aliyun.com/centos-vault/
CentOS7.6 下载地址:http://vault.centos.org/7.6.1810/
安装镜像文件版本解析:
- DVD.iso:标准安装版
- Everything.iso:完整版,集成所有软件
- Minimal.iso:最小安装版,自带的软件最少,用什么装什么(学习阶段我们使用这个镜像)
- NetInstall.iso:网络安装镜像,联网进行安装,可自行选择需要安装的软件
- LiveGNOME.iso:GNOME 桌面版
- LiveKDE.iso:KDE 桌面版
- LiveCD.iso:光盘上运行的系统,类拟于 Windows PE
虚拟机安装与配置
本文使用 Windows 10 操作系统安装 VMware Workstation 16 来进行讲解。鼠标双击下载好的 VMware-workstation-full-16.1.0-17198959.exe 文件,然后按以下步骤完成安装:
勾选我接收许可协议中的条款,点击下一步。
根据个人习惯自定义安装位置,点击下一步。
使用破解版,把下面两个选项都取消勾选,点击下一步。
自行选择是否创建快捷方式,点击下一步。
点击安装,耐心等待。
点击许可证,这里需要输入密钥。
输入密钥后点击输入即可。
最后点击完成退出安装向导,整个安装流程结束。
安装完成后第一时间检查网络连接是否有 VMnet1 和 VMnet8 ,如果没有卸载虚拟机清理注册表并重新安装。
接下来,打开虚拟机软件,点击 编辑 → 首选项 修改虚拟机默认创建位置:
创建虚拟机
创建虚拟机前请先检查电脑是否开启虚拟化。打开任务管理器,在性能选项中查看虚拟化信息。如果没开启需要进入BIOS 系统进行开启(不同类型的电脑进入方式不同),这方面内容请自行搜索。
接下来,请按以下流程完成虚拟机创建。
点击自定义,定制化安装虚拟机。
选择硬件兼容性,可以调整是否向下兼容,本文就使用默认值了。
选择刚才下载好的 CentOS7 镜像文件。
根据个人习惯修改虚拟机创建位置并填写虚拟机名称。
根据需求设置虚拟机处理器数量。
根据需求设置虚拟机内存大小。
选择 NAT 网络模式。
选择 IO 控制器类型,默认即可。
选择磁盘类型,默认即可。
选择创建新虚拟磁盘。
设置最大磁盘大小,暂时使用 100G。这里并不是马上分配 100G 出去,而是用多少分多少,最大上限
100G,所以切记不要勾选立即分配所有磁盘空间,否则会立刻将物理磁盘 100G 分配给该虚拟机。
设置虚拟磁盘名称,默认即可。
点击完成,虚拟机创建结束。
安装虚拟机
选择刚才创建好的虚拟机,点击开启此虚拟机。
底部提示信息直接关闭即可,然后点击屏幕用键盘上下键切换至 Install CentOS 7 ,回车。
接下来耐心等待虚拟机初始化,直到出现选择语言界面,选择英文并点击 Continue 。
点击 DATE & TIME 设置时区和时间,后面通过命令也可以实现修改
设置完成后点击 Done 返回。
点击 INSTALLATION DESTINATION 设置硬盘分区。
选择自定义分区并点击 Done 开始设置。
点击 + 号开始设置分区。
引导分区 /boot 设置 256M 并点击 Add mount point 进行添加。
交换分区 swap 设置 2G 并点击 Add mount point 进行添加。
然后选择 / 并点击 Add mount point 将剩余所有空间分配给 / 分区。
分区设置完成后点击 Done 。
点击 Accept Changes 接受修改内容。
接下来点击 Begin Installation 开启安装。
安装时可通过 ROOT PASSWORD 给虚拟机设置密码。
设置密码后点击 Done 返回安装界面,耐心等待安装。
USER CREATION 用于创建用户,我们暂时不创建,使用默认用户 root 即可。后期可通过命令创建用户-组-权限等
直到出现以下界面,表示虚拟机安装完成,点击 Reboot 重启虚拟机。
输入默认用户 root 与密码回车登入虚拟机。注意:考虑到安全问题,输入密码时是不会显示在屏幕上的。
配置虚拟机
网络
首先打开虚拟机的虚拟网络编辑器,查看 NAT 设置中的 IP 段和网关信息。
NAT 设置中的 IP 段和网关信息如下。
然后输入以下命令打开网络配置文件:
vi /etc/sysconfig/network-scripts/ifcfg-ens33
注意:切记不要手动输入,使用 Tab 键自动补齐,因为有的人是 ifcfg-ens33 有的是 ifcfg-ens32 防止出错。
原文件内容如下:
TYPE=Ethernet # 网卡类型(通常是 Ethernet 以太网)
PROXY_METHOD=none # 代理方式:为关闭状态
BROWSER_ONLY=no # 只是浏览器:否
BOOTPROTO=static # 网卡的引导协议(static:静态IP dhcp:动态IP none:不指定,不指定容易出现各种各样的网络受限)
DEFROUTE=yes # 默认路由
IPV4_FAILURE_FATAL=no # 是否开启 IPV4 致命错误检测
IPV6INIT=yes # IPV6 是否自动初始化:是(现在还未用到 IPV6,不会有任何影响)
IPV6_AUTOCONF=yes # IPV6 是否自动配置:是
IPV6_DEFROUTE=yes # IPV6 是否可以为默认路由:是
IPV6_FAILURE_FATAL=no # 是否开启 IPV6 致命错误检测
IPV6_ADDR_GEN_MODE=stable-privacy # IPV6 地址生成模型
NAME=ens33 # 网卡物理设备名称
UUID=070892f0-514c-46c5-8593-c379854dcce1 # 通用唯一识别码,每一个网卡都会有,不能重复,否则两台 Linux 机器只有一台可上网
DEVICE=ens33 # 网卡设备名称,必须和‘NAME’的值一样
ONBOOT=yes # 是否开机启动网络,要想网卡开机就启动或通过`systemctl restart network`控制网卡,必须设置为 yes
IPADDR=192.168.88.100 # 本机 IP
NETMASK=255.255.255.0 # 子网掩码
GATEWAY=192.168.88.2 # 默认网关
DNS1=192.168.88.2 # DNS 服务器
DNS2=114.114.114.114 # DNS 服务器
DNS3=8.8.8.8 # DNS 服务器
我们只需要修改 2 行,删除 1 行,新增 6 行即可。首先 i 键进入编辑模式,然后开始编辑文件
修改
- “ONBOOT=yes (是否开机启动网络)
- BOOTPROTO=static (使用静态网络 IP,就是自己手动设置)
删除
UUID=xxxxx
每一个网卡都会有,不能重复,否则两台 Linux 机器只有一台可上网
新增:
IPADDR=192.168.88.100
NETMASK=255.255.255.0
GATEWAY=192.168.88.2
DNS1=192.168.88.2
DNS2=114.114.114.114
DNS3=8.8.8.8
文件操作完毕后 Esc 退出编辑模式,然后 : 进入底行模式 :wq 保存并退出文件。
然后输入以下命令重启网络:
systemctl restart network
然后 ping 一下百度(其它也行,比如京东),如果出现以下效果则表示网络配置成功(Ctrl + C 终止 ping 命令的执行)
防火墙
防火墙(英语:Firewall)技术是通过有机结合各类用于安全管理与筛选的软件和硬件设备,帮助计算机网络于其内、外网之间构建一道相对隔绝的保护屏障,以保护用户资料与信息安全性的一种技术。
查看防火墙状态
systemctl status firewalld
本次服务内关闭防火墙(重启虚拟机后会自动开启)
systemctl stop firewalld
启动防火墙
systemctl start firewalld
重启防火墙
systemctl restart firewalld
禁用防火墙服务
systemctl disable firewalld
SELINUX
SELinux 是「Security-Enhanced Linux」的简称,是美国国家安全局「NSA=The National Security Agency」 和SCC(Secure Computing Corporation)开发的 Linux 的一个扩张强制访问控制安全模块。
使用以下命令打开 SELinux 的配置文件:
vi /etc/selinux/config
修改 SELinux=disabled ,然后 :wq 保存并退出。
关闭虚拟机
可以通过以下命令关闭虚拟机:
- halt :相当于直接拔掉电源,不推荐。
- poweroff :直接关闭机器,但是有可能当前虚拟机有其他用户正在使用,不推荐。
- shutdown -h now :马上关闭计算机 ,但是会给其他用户发送消息,推荐。
- reboot :重启虚拟机
快照与克隆
可以通过拍摄快照记录当前虚拟机的状态,以防出问题时可以及时还原。虚拟机运行时也可以拍摄快照,只不过速度
会非常慢,且运行时虚拟机也会不停的产生数据,为了防止数据丢失或出错,建议关闭虚拟机后再拍摄快照。
后期可通过快照管理器选择回到某一个历史快照的节点。
除此之外,还可以通过克隆复制虚拟机的当前状态或某一个历史快照节点。
克隆又分为链接克隆和完整克隆:
完整克隆
- 就是基于原始节点完全拷贝到新节点的文件夹中
- 优点:耦合性抵
- 缺点:硬盘空间使用大
- 推荐使用完整克隆
链接克隆 (当前节点文件夹只存储差异性数据, 相同数据存放在原始节点上, 可节省硬盘空间, 耦合性大)
移除虚拟机
可以通过右键虚拟机→移除来移除此虚拟机,但是这种方式只是将虚拟机从 VMware 界面中移除而并非从磁盘上删除。
如果要从磁盘上删除虚拟机,使用以下方式或自行找到虚拟机存储在磁盘上的位置并进行删除。
连接虚拟机
- Xshell:负责向虚拟机输入命令
- Xftp:负责向虚拟机传输文件
写在最后 : 本文仅用作个人复习
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net