Linux-Ch08 文件和Web服务器

Linux文件传输

wget:下载文件:

1
2
3
4
5
6
7
wget [参数] [URL地址]

# 例子
wget http://www.imu.org/windows10.iso

#常用参数
# -c: 断点续传

scp:网间拷贝:

把文件从一台计算机拷贝到网络上的另一台计算机,采用类似SSH协议的方式保证安全性

1
2
3
4
# 命令语法
scp source_file destination_file
# 例子
scp image.png root@89.231.45.67:/root/images

ftp和sftp:文件传输协议

应用层

FTP客户端可以给服务器发出命令来下载或上传文件,创建或改变服务器上的目录

需要建立两条TCP数据传输链路,工作模式也分为:PORT主动模式、Passive被动模式

sftp:Secure FTP,基于SSH

搭建FTP服务器:VSFTP

Web服务器之Apache

  • Web服务端软件
  • 基于C语言
  • 跨平台、稳定性高、按需加载、支持协议广泛、集成代理服务器和虚拟主机
  • 内核架构是采用基于进程的fork模式,进程的消耗要高于线程,不适用于多处理器环境的分布式部署

Apache的其他用途:

虚拟主机:只拥有一个真实IP的物理服务器虚拟出多个服务器的技术

  • 基于ip的虚拟主机:配置多个ip地址,用户通过ip访问网站
  • 基于端口的虚拟主机:将不同网站映射多个不同的端口
  • 基于域名:将多个网站的域名映射到不同的网站目录

Web服务器之Nginx

正向代理和反向代理

  • 正向代理:

    一个位于客户端和目标服务器之间的服务器,根据客户端的请求,从原始服务器获取网页或资源然后转发给客户端,例如fq。

    特点:客户端明确要访问的服务器地址,服务器只清楚请求来自某代理服务器。正向代理模式隐藏了真实客户端的信息。

  • 反向代理:

    根据客户端的请求,将请求根据某种策略分发到不同的服务器上。服务器提供响应后,反向代理服务器将响应转发给客户端。

    典型的应用是分布式部署来完成高并发的场景,同时实现数据缓存、负载均衡的功能

    特点:服务器明确请求来自哪个客户端,客户端一般至于哦域名而不清楚响应来自哪台具体服务器,反向代理隐藏了服务端的详细信息。

    反向代理的工作流程:

    1. 用户通过域名发出Web请求,该域名被DNS服务器解析为反向代理服务器的IP地址
    2. 反向代理服务器接受用户的请求
    3. 反向代理在本地缓存中查找内容,找到后直接发送给用户
    4. 若本地缓存没有,反向代理服务器按策略对真实服务器发送请求,接受响应后处理缓存,发送给用户。

    反向代理的优点:

    1. 保护服务器安全:隐藏服务节点的IP,服务节点置于防火墙后,避免业务服务器被直接攻击
    2. 服务器更专注于业务和性能

Nginx入门

  • 轻量级的Web服务器、反向代理服务器、电子邮件代理服务器
  • 低消耗、高并发、强配置、可扩展

nginx目录组成:

  1. 配置文件目录,.conf
  2. 静态页面根目录 nginx/html
  3. 可执行文件目录 nginx/sbin

基本原理: