电脑硬件
电源
既然是人体的心脏,保障电源供应,就需要质量好的电源,生产环境中单个核心服务器最好是双电源AB线路。
一个接220V电路,一个可能接蓄电池UPS(不间断电源)
cpu
常见品牌:Intel、AMD,想当于人体的大脑
内存
是CPU和磁盘之间的缓冲设备,也叫临时存储器(存放数据),断电时数据丢失
一般程序运行时会被调度到内存中执行,服务器关闭或程序关闭后,数据从内存中释放掉。
服务器
定义
服务器指的是网络中能对其他机器提供某些服务的计算机系统,相对普通PC,服务器指的是高性能计算机,稳定性、安全性要求更高
服务器的高性能体现在高速的运转能力,长时间的可靠运行,强大的数据吞吐能力
服务器分类
包括大型机、小型机和UNIX服务器,价格昂贵,体系封闭,但是稳定性极强,性能强、主要用在金融、电信等大型企业核心系统中。
linux初识
开源软件最重要的特性
低风险 使用闭源软件无疑把命运交付给他人,一旦封闭的源代码没有人来维护,你 将进退维谷;而且相较于商业软件公司,开源社区很少存在倒闭的问题。
高品质 相较于闭源软件产品,开源项目通常是由开源社区来研发及维护的,参与编 写、维护、测试的用户量众多,一般的 bug 还没有等爆发就已经被修补。
低成本 开源工作者都是在幕后默默且无偿地付出劳动成果,为美好的世界贡献一份 力量,因此使用开源社区推动的软件项目可以节省大量的人力、物力和财力。
更透明 没有哪个笨蛋会把木马、后门等放到开放的源代码中,这样无疑是把自己的罪行暴露在阳光之下。
开源许可协议
GNU GPL (GNU General Public License GNU):
只要软件中包含了遵循 GPL 协议的产品或代码,该软件就必须也遵循 GPL 许可协议且开源、免费, 因此这个协议并不适合商用软件。
遵循了此协议的就包括Linux和大多数开源软件
GNU的特点是:
复制自由
传播自由
收费传播 开源软件都是通过对用户提供有偿服务形式来盈利
修改自由 开发人员允许增加和删除软件的功能,但是还必须遵循GPL许可协议
BSD Berkeley Software Distribution 伯克利软件发布版本许可协议
用户可以使用、修改和重新发布遵循该许可的软件,并且可以将软件作为商业软件发布和销售,前提需要满足下面3个条件。
如果在发布的软件中包含源代码,则源代码必须继续遵循BSD许可协议如果再发布的软件中只有二进制程序
,则需要在相关文档或版权中声明该代码遵循了BSD协议不允许用原始软件的名字、作者名字或机构名称进行市场推广
Linux的发行版本
Linux实际上只是定义了一个操作系统的内核,这个内核由kernel.org维护。不同的企业和组织在基础上开发了一系列的辅助软件,打包发布自己的“发行”版本。
RedHat Enterprise Linux RHEL :
红帽公司是全球最大的开源技术厂商,RHEL 是全世界内使 用最广泛的 Linux 系统。RHEL 系统具有极强的性能与稳定 性,并且在全球范围内拥有完善的技术支持。
Community Enterprise Operating System
CentOS 通过把 RHEL 系统重新编译并发布给用户免费使用的 Linux 系统,具有广泛的使用人群。CentOS 当前已被红帽公司 “收编”。
openSUSE
源自德国的一款著名的 Linux 系统,在全球范围内 有着不错的声誉及市场占有率。主要使用客户是中国移动、中国电信、交通银行、浦发银行等等安全性极高的客户
Debian
稳定性、安全性强,提供了免费的基础支持,可以良好地支持各种硬件架构,以及提供近十万种不同的开源软件,在国外拥有很高的认可度和使用率。
Ubuntu
是一款派生自 Debian 的操作系统,对新款硬件具有极 强的兼容能力。Ubuntu 与 Fedora 都是极其出色的 Linux 桌面系统,而且 Ubuntu 也可用于服务器领域。
VMware与Centos系统安装
下载镜像
https://opsx.alibaba.com/mirror#阿里云官方镜像站 iso下载地址(此DVD映像包含可以使用该软件安装的所有软件包安装程序。这是大多数用户的推荐图像。)
下载安装VMware虚拟机
下载激活地址:http://www.zdfans.com/html/5928.html
安装
解压软件包,当前选择的是vm12
全部“下一步”,安装即可,,这里无须说多
安装好vmware虚拟机后,开始安装Linux
网络连接方式
桥接模式(建议)
如果大家用桥接模式,大家都会在一个局域网内,可以互相通信
只要换了个教室,插上网线,ip就变了
好处:不用配置
坏处:更换ip麻烦
nat模式
每个人都是自己的一个虚拟局域网,互相无法通信
虚拟机的ip是nat分配的,电脑环境无论怎么变化,都不会影响虚拟机
好处:
在家,在学校,在公司,使用虚拟机,ip地址都不会变化
仅主机模式
虚拟机只能和主机进行通讯,不能访问外网
linux超级用户
root 给root设置密码(设置密码 不要设置的太难,而且不要用小键盘!!使用字母上方的键盘)
root 给root设置密码(设置密码 不要设置的太难,而且不要用小键盘!!使用字母上方的键盘)
root 给root设置密码(设置密码 不要设置的太难,而且不要用小键盘!!使用字母上方的键盘)
root设置密码 centos,简单即可
安装完成
此时进入这个黑乎乎的界面,输入root账号与密码,成功进入linux系统
忘记root密码解决办法
重启 Linux 系统主机并出现引导界面时,按下键盘上的 e 键进入内核编辑界面
在 linux16 参数这行的最后面追加“rd.break”参数,然后按下 Ctrl + X 组合键来运行修 改过的内核程序
大约 30 秒过后,进入到系统的紧急求援模式,
依次输入以下命令,等待系统重启操作完毕,然后就可以使用新密码来登录Linux 系统了
mount -o remount,rw /sysroot
chroot /sysroot
passwd
touch /.autorelabel
exit reboot
远程连接Linux
远程连接必备的知识
查看ip
windows查看ip通过命令:
在cmd终端敲下:
ipconfig
查看“以太网适配器 本地连接 IPv4”的Ip地址就是自身网线的ip地址了
Linux查看ip方式:
方式1:ip addr
方式2: ifconfig
端口的概念
一台服务器可以有一个ip地址,例如是192.168.11.1,服务器是需要对外提供服务的,例如web服务,FTP服务。那么仅凭ip地址,主机无法区分不同的服务,ip地址和网络服务是一对多的关系,一个ip提供多个服务,因此就有了“端口号”来区分不同的服务器的。
端口(port)的设计规定是有65536这么多端口,每个端口对应唯一的程序,0-1024端口之间被操作系统占用,因此开发人员能使用的是1024-65536区间的端口。
ftp:23
dns:53
http:80
https:443
ssh:22
协议的概念
protocol是为网络中的数据交换而建立的规则、标准或者约定,两个实体要通信,必须有同一种语言。
常见协议有超文本传输协议(HTTP)、文件传输协议(FTP),简单邮件传输协议(SMTP)、网络通信协议(TCP)、用户数据报协议(UDP)
总结
ip |
ip地址 |
找人,找服务器 |
port |
端口号 |
提供什么服务 |
protocol |
协议 |
说什么语言 |
连接Linux
1.下载Xshell
2.ssh 用户名@ip
Linux切换虚拟终端
ctrl+Alt+F[1~6],如想切换到第二号虚拟终端,则同时按Ctrl+Alt+F2
查看终端信息shell命令
命令,解释
tty 查看当前终端
who am i 仅显示当前用户正在使用的终端和登录时间
w 查看所有终端(功能最全,显示用户名,终端标记,登录时间,负载等信息)
配置SSHD服务
sshd 是基于 SSH 协议开发的一款远程管理服务程序,不仅使用起来方便快捷,而且能够提供两种安全验证的方法:
- 基于口令的验证-------用账号和密码登录
- 基于密钥的验证-------需要在本地生成密钥对,然后把密钥对中的公钥上传至服务器,并与服务器中的公钥进行比较;
sshd程序的配置文件是/etc/ssh/sshd_config,检查配置文件参数
grep -v '^#' /etc/ssh/sshd_config |grep -v '^$'
在RHEL7系统中,已经默认安装启动了SSHD服务,
使用密码登录
在第一次登录的时候,系统会出现下面的提示信息
The authenticity of host 'ssh-server.example.com (12.18.429.21)' can't be established.
RSA key fingerprint is 98:2e:d7:e0:de:9f:ac:67:28:c2:42:2d:37:16:58:4d.
Are you sure you want to continue connecting (yes/no)?
上面的信息说的是:无法确认主机ssh-server.example.com(12.18.429.21)的真实性,不过知道它的公钥指纹,是否继续连接?
输入yes之后,那么该host key会被加入到Client的known_hosts中,格式如下
pyyuc.cn,123.206.16.61 ecdsa-sha2-nistp256....
终端提示如下:
Warning: Permanently added 'ssh-server.example.com,12.18.429.21' (RSA) to the list of known hosts.
Password: (enter password)
提示该host已经被确认,并追加到文件known_hosts中,然后就要输入密码,之后的流程如图
私钥是server端独有的,即使client的信息泄露,也没有私钥进行解密,保证数据安全。
使用安全秘钥
加密是对信息进行编码和解码的技术,它通过一定的算法将原本可以直接阅读的铭文信息转换成密文。密钥就是密文的钥匙,有私钥和公钥之分。
在数据传输时,担心被他人监听或截获,就可以在传输前先使用公钥对数据加密处理,然后再传送。这样只有掌握私钥的用户才能解密这段数据,除此之外的其让人即使截取了数据,也很难将其破解成明文
基于公钥的免密登录
1.在客户端主机生成“秘钥对”
2.第二步:吧客户端主机中生成的公钥文件传送至远程主机:
3.对服务器端进行设置,使其只能允许秘钥登录,拒绝口令登录,然后重启sshd服务
vim /etc/ssh/sshd_config
PasswordAuthentication no
systemctl restart sshd
4.在客户端即可免密登录服务器了