登录账号
登录个人账号,可以通过图形界面和命令两种方式。
logout
,切换用户,如果备选用户中没有自己的用户名,点击 not listed
,之后输入用户名和密码登录即可。su your_username
方式,回车输入密码即可切换。修改密码
输入kpasswd
命令,之后输入old password
,回车后输入两次相同的new password
,即可改密成功。
Linux中修改密码的其他命令还有 passwd
。
Kpasswd和passwd的区别:
Linux中提供给用户许多命令,大致可以分为以下几类,我整理了一份思维导图,如下。
此外,还可以去往菜鸟教程—Linux命令大全查看更多Linux命令!
使用格式
ssh username@ip
可以以 username 远程登录到所在主机上。
如果使用 ssh 连接不上,那么可能的原因有很多,以下是我猜测发生了IP对应主机可能的原因:
ping
命令可以查看)ssh
服务未在运行Git是一款分布式版本控制工具,用于敏捷高效的管理项目,协同开发。下面我将介绍一下 Git
的简单使用流程。
.gitignore
文件用于定义哪些文件不需要交给 Git 管理,文件名是固定的,不可修改。
总时延 = 发送时延 + 传播时延 + 处理时延 + 排队时延。
是主机或路由器发送数据帧所需要的时间,也就是从发送数据帧的第一个比特算起,到该帧的最后一个比特发送完毕所需的时间,发送时延 = 数据帧长度(b) / 信道带宽(b/s)
是电磁波在信道中传播一定的距离需要花费的时间,传播时延 = 信道长度(m) / 电磁波在信道上的传播速率(m/s)
主机或路由器在收到分组时要花费一定的时间进行处理,例如分析分组的首部、从分组中提取数据部分、进行差错或查找适当的路由等等。
分组在经过网络传输时,要经过许多的路由器。但分组在进入路由器后要现在输入队列中排队等待处理。在路由器确定了转发接口后,还要在输出队列中排队等待转发。
D p r o p = ( 1000 ∗ 8 ) / ( 1 ∗ 1024 ∗ 1024 ) ≈ 0.0076 s = 7.6 m s D_{prop} = (1000*8) /( 1*1024*1024) \approx 0.0076s = 7.6ms Dprop=(1000∗8)/(1∗1024∗1024)≈0.0076s=7.6ms
D p r o c = 1 m s D_{proc} = 1ms Dproc=1ms
D q u e u e = 5 m s D_{queue} = 5ms Dqueue=5ms
D t r a n s = ( 2000 ∗ 1 0 3 ) / ( 2 ∗ 1 0 8 ) = 0.01 s = 10 m s D_{trans} = (2000*10^3)/(2*10^8) = 0.01s = 10ms Dtrans=(2000∗103)/(2∗108)=0.01s=10ms
D n o d a l = 2 ∗ ( D p r o p + D p r o c + D q u e u e + D t r a n s ) = 47.2 m s D_{nodal} = 2*(D_{prop}+D_{proc} +D_{queue}+D_{trans} )=47.2ms Dnodal=2∗(Dprop+Dproc+Dqueue+Dtrans)=47.2ms
Web(C / S 模式)
:edge 浏览器、Chrome 浏览器
聊天软件:QQ、Wechat
视频软件:Tencent Video,iQiYi
游戏:Honor of Kings
- Yes.Response Time: Tue, 07 Mar 2008 12:39:45.
- Last-Modified: Sat, 10 Dec2005 18:27:46
- Accept-Bytes: 3874B
- Yes.According to the keyword Connection:Keep-Alive.
HTTP:80
HTTPS: 443
SSH: 22
TELNET: 23
FTP: 21
DNS: 53
GBN和SR的主要区别
区别 | GBN | SR |
---|---|---|
缓冲区 | 丢弃了接收端窗口内所有无序的数据包,所以不需要有一个缓冲区来存储接收端窗口内的无序数据包。 | 由于避免了重传许多不必要的数据包,所以接收端需要对无序的数据包进行缓冲。 |
实现的复杂性 | GBN协议采用累积确认的方法。因为接收方是按顺序接收数据包的,所以任何错误到达的数据包都将被接收方丢弃。 | SR协议避免了GBN协议以同时设置发送方窗口和接收方窗口大小相同为代价,重传到达接收方的正确数据包。 |
网络效率 | 当窗口大小和带宽的乘积延迟很大,一个数据包在错误可能导致GBN重新发送大量的数据包 | 许多正确的数据包的顺序在这个过程中不需要重传。 |
LDAP(Lightweight Directory Access Protocol 轻量级目录访问协议)是一种定义如何访问目录服务(directory service)的通信协议[5]。
客户端通过 TCP/IP
或其他面向连接的传输服务,连接到服务器并向其提问;服务器提供答案或客户端可以获取更多信息的位置(可以是另一个 LDAP 服务器)的指针。
Kerberos 是由麻省理工(MIT)开发的一套基于加密票据(Ticket)的身份认证系统[6]。它主要由三个部分组成:KDC(Key Distribution Center,钥匙发布中心)、客户端和服务端,其中,KDC 又包括三个部分:数据库、验证服务器(AS:Authentication Server)和票据发放服务器(TGS:Ticket Granting Server)。
Ansible 是一款高效的机群管理工具[7]。它采用 ssh
的机制,不必在被控主机上安装任何特殊的软件,只需将控制主机设置好,便能远程对被控机群做统一配置和管理,使用简便,功能强大,易于扩展。
以我个人的理解,Ansible 与分发工具
rsync
有些像,可以实现在多台集群之间分发文件。
首先到Ubuntu官网点击我去往Ubuntu官网,下载该版本的 iso
映像文件。
之后,使用VMware创建使用该镜像的虚拟机。
安装成功后,需要注意的是设置root
用户的初始密码,执行如下命令:
sudo passwd
输入当前用户的密码,之后再输入并确认新密码即可。
Nginx 是是一个开源的,支持高性能、高并发的 Web 服务和代理服务软件。
在传统的Web项目中,并发量小,用户使用的少。所以在低并发的情况下,用户可以直接访问tomcat服务器,然后tomcat服务器返回消息给用户。
nginx特点是占有内存少,并发能力强
,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
下面介绍如何在Ubuntu22.0.4中安装NGINX。
这是nginx官网,可以点击这里去下载nginx安装包:nginx官方下载地址,下载成功后得到这样一个压缩包。
通过xshell加XFTP上压缩包上传到 /opt/software 目录下:
执行解压命令,将nginx解压到 /opt/module 目录下,并将文件重命名为nginx:
tar -xzvf nginx-1.20.2.tar.gz -C /opt/module/
因为编译nginx需要使用 gcc 编译器,所以我们需要安装 gcc 和一些其他相关软件,那么到底需要哪些软件?
首先我们进入到刚刚 nginx 解压的目录:
cd /home/jhguo/opt/module/nginx-1.20.2/
之后我们可以通过下面的命令来检测:
./configure
之后安装下面所需要的依赖:
sudo apt-get install gcc -y
sudo apt-get install libpcre3-dev -y
sudo apt-get install zlib1g zlib1g-dev -y
sudo apt-get install openssl libssl-dev -y
进入到nginx安装目录下,并执行编译和安装命令
cd /opt/module/nginx
./configure # Check needed module again.
make
make install
至此,我们的nginx就安装好了,注意,安装成功后,我们的nginx并不是在解压后的目录,而是默认在 /usr/local/nginx 目录下
,接下来就是启动和停止nginx服务器。
进入到nginx目录:
cd /usr/local/nginx/
启动nginx:
sudo sbin/nginx
nginx默认端口是80,因此要将这个端口开放。
访问IP
来查看 nginx 是否启动成功。
在 Windows 访问成功!
停止nginx:
sudo sbin/nginx -s stop
上传个人主页文件 index.html
(已在写文章前编写),上传到Linux系统中的一个目录即可,这里我是放在了 /home/jhguo/opt/files/network_app_sec/hw/hw1 目录下:
首先还是进入到nginx目录下的conf目录:
cd /usr/local/nginx/conf/
编辑nginx.conf文件,将dist目录路径放在root后面即可:
sudo vim nginx.conf
因为监听 1024 以下的端口需要 root 权限,因此我后面将80改为了8080.
启动nginx:
sudo /usr/local/nginx/sbin/nginx
现在,我们就可以通过 主机ip+nginx端口访问我们的个人主页了!