1.复习


2.知识点概述
1. 一些基本概念
1.1 Nginx 初步认识
1.2 正向 / 反向代理
1.3 域名和 IP
2. Nginx 安装和配置
2.1 安装
2.2 配置
3. Nginx 的使用
3.1 部署静态网页
3.2 反向代理和负载均衡
课外知识导读
1. URL 和 URI
2. DNS 解析过程
1. 一些基本概念
1.1 Nginx 初步认识
1. Nginx 是什么 ?
engine x
Tengine
俄罗斯
C 语言实现的 , 开源的框架
2. Nginx 能干什么 ?
web 服务器
安装了能够解析 http 协议软件的电脑
反向代理服务器
客户端直接访问反向代理服务器
反向代理服务器将客户端请求转发给后台的 web 服务器
web 服务器处理请求 , 请求响应发送给反向代理服务器
反向代理服务器将响应发送给客户端
邮件服务器
解析邮件收发的协议
pop3
smtp
3. Nginx 的优势 ?
更快
高峰期 ( 数以万计的并发时 )nginx 可以比其它 web 服务器更快的响应请求
高扩展
低耦合 设计的模块组成 , 丰富的第三方模块支持
高可靠
3.hiredis使用介绍


4.hiredis使用代码




5.nginx介绍
1. Nginx是什么?
- engine x
- Tengine
- 俄罗斯
- C语言实现的, 开源的框架
2. Nginx能干什么?
- web服务器
- 安装了能够解析http协议软件的电脑
- 反向代理服务器
- 客户端直接访问反向代理服务器
- 反向代理服务器将客户端请求转发给后台的web服务器
- web服务器处理请求, 请求响应发送给反向代理服务器
- 反向代理服务器将响应发送给客户端
- 邮件服务器
- 解析邮件收发的协议
- pop3
- smtp
3. Nginx的优势?
> - 更快
>
> - 高峰期(数以万计的并发时)nginx可以比其它web服务器更快的响应请求
>
> - 高扩展
>
> - **低耦合**设计的模块组成,丰富的第三方模块支持
>
> - 高可靠
>
> - 经过大批网站检验
>
> - 每个worker进程相对独立, 出错之后可以快速开启新的worker
>
> - 低内存消耗
>
> - 一般情况下,10000个非活跃的HTTP Keep-Alive连接在nginx中仅消耗 2.5M内存
>
> - 单机支持10万以上的并发连接
>
> - 取决于内存,10万远未封顶
>
> - 热部署
>
> - master和worker的分离设计,可实现7x24小时不间断服务的前提下升级nginx可执行文件
>
> - 最自由的BSD许可协议
>
> - BSD许可协议允许用户免费使用nginx,修改nginx源码,然后再发布


6.正向和反向代理
### 1.2 正向/反向代理
1. 正向代理
> 正向代理是位于客户端和原始服务器之间的服务器,为了能够从原始服务器获取请求的内容,客户端需要将请求发送给代理服务器,然后再由代理服务器将请求转发给原始服务器,原始服务器接受到代理服务器的请求并处理,然后将处理好的数据转发给代理服务器,之后再由代理服务器转发发给客户端,完成整个请求过程。
>
> ==**正向代理的典型用途就是为在防火墙内的局域网客户端提供访问Internet的途径**==, 比如:
>
> - 学校的局域网
> - 单位局域网访问外部资源

正向代理就是有有一台web服务器, 给用户提供服务器, 帮助用户将请求发送到internet中的web服务器上,
正向代理服务器是为用户服务的.
2. 反向代理
> 反向代理方式是指代理原始服务器来接受来自Internet的链接请求,然后将请求转发给内部网络上的原始服务器,并将从原始服务器上得到的结果转发给Internet上请求数据的客户端。那么顾名思义,反向代理就是位于Internet和原始服务器之间的服务器,对于客户端来说就表现为一台服务器,客户端所发送的请求都是直接发送给反向代理服务器,然后由反向代理服务器统一调配。



7.IP和域名
域名和 IP
1. 什么是域名?
www.baidu.com
www.jd.com
www.jingdong.com
2. 什么是 IP 地址?
点分十进制字符串
192.168.1.100
44.111.22.35 3. 域名和 IP 地址的关系?
绑定和被绑定的关系
域名绑定 IP 地址 , 一个域名只能绑定一个 IP 地址
一个 IP 地址可以被多个域名绑定
8.nginx的安装和启动
安装
1. 下载
1. 官方地址 : http://nginx.org/
2. Nginx 相关依赖 :
OpenSSL: http://www.openssl.org/
给 http 协议传输的数据加密 : https
使用了对称和非对称加密
数据的加密的加密 - 对称加密
使用非对称加密中 - 秘钥交换
客户端
假设 : 私钥
得到了 A 值
客户端将 A 发送给服务器
经过运算得到了一个值 : 秘钥
服务器
假设 : 公钥
得到了 B 值
服务器将 B 发送给客户端
经过运算得到了一个值 : 秘钥
ZLib 下载 : http://www.zlib.net/
数据压缩
PCRE 下载 : http://www.pcre.org/
解析正则表达式
2. 安装
nginx 的安装
# 的源码安装包目录 使用相对 / 绝对路径都可以
./configure --with-openssl = openssl 的源码安装包目录 --with-pcre = pcre 的源码安装包目录 --
with-zlib = zlib 的源码安装包目录
make
sudo make install
1
2
3
4 3. Nginx 相关的指令
Nginx 的默认安装目录
Nginx 可执行程序的路径
启动 Nginx
关闭 Nginx
重新加载 Nginx
测试是否安装成功
先得到 nginx 服务器的 IP 地址
打开浏览器 , 在地址栏中访问得到的 IP 地址
能看到欢迎界面 , 表示已经安装成功
2.2 配置
/usr/local/nginx
- 子目录 conf: 存储配置文件
- 子目录 html: 存储静态网页 - 默认
- 子目录 logs: 日志目录 , nginx 不能正常工作 , 需要查看 log 日志 error.log
- 子目录 sbin: 存储 nginx 的可执行程序
- 自己创建一子目录 , 存储静态网页 , Itcast
1
2
3
4
5
6
"/usr/local/nginx/sbin/nginx"
1
sudo /usr/local/nginx/sbin/nginx
# 在任何位置命令解析去都可以解析出 nginx, 可以通过创建软连接的方式实现
ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx
1
2
3
# 第一种
sudo /usr/local/nginx/sbin/nginx -s quit
- nginx 处理完当前操作之后退出
# 第二种
sudo /usr/local/nginx/sbin/nginx -s stop
- nginx 马上退出
1
2
3
4
5
6
sudo /usr/local/nginx/sbin/nginx -s reload
1 1. Nginx 配置文件的位置
2. Nginx 配置文件的组织格式
main - 整个文件 nginx.conf
http 模块 - nginx 作为 web 服务器时候使用的模块
server 模块 , 每个 server 模块对应一台 web 服务器
location 模块 , 负责处理客户端请求的每一个指令
客户端有一个请求 , 在服务器端对应一个 location
mail 模块 - nginx 作为邮件服务器使用的模块
3. 常用配置项介绍
"/usr/local/nginx/conf/nginx.conf"
1
# woker 进程属于哪个用户
user root ;
- 在 log 日志中错误提示 error info : Permission denied , 将 user 值改为 : root
# 启动 nginx 的时候 , 创建的 worker 进程的个数
# 最大个数 == CPU 的核心数
worker_processes 1;
# 错误日志文件
error_log logs/error.log;
# nginx 的事件处理
events {
use epoll; # IO 转接模型使用 epoll
worker_connections 1024; # 每个 worker 进程处理的最大连接数
}
# http 模块中的 server
# server 对应的一台 web 服务器
server {
listen 80; # 服务器监听的端口 , 客户端需要将数据发送到该端口上
server_name localhost; # server_name 的值是一个域名 , 客户端访问服务器时候需要的域名
charset utf-8 ; # 服务器数据默认编码格式
access_log logs/host.access. log main; # 记录的是操作步骤
# 对应的是客户端的一个请求
location / { # / 代表资源根目录
root html; # 指定资源根目录是谁
# index - 用户在浏览器的 url 中访问的是一个目录 , 该目录中有 N 个 html 网页
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 3. Nginx 的使用
3.1 部署静态网页
1. 静态网页存储目录
默认的存储目录 :
自己创建新的目录 :
2. 练习
在 Nginx 服务器上进行网页部署 , 实现如下访问 :
在 /usr/local/nginx/ 创建新的目录 , yundisk 用来存储静态网页
访问地址 : http://192.168.80.254/login.html
部署 : 需要有一个 login.html 的静态网页
静态网页放到 yundisk 中
配置文件修改
添加一个 location
访问地址 : http://192.168.80.254/hello/reg.html
hello 代表的是什么 ?
目录 , 是资源根目录的子目录 , 在 yundisk 中
reg.html 网页放到哪儿 ?
放到 hello 目录中
修改配置文件
# 要默认显示哪一个 , 就在 index 后边指定哪一个 html
index index . html index .htm;
}
}
9.nginx相关命令和测试
负载均衡设置
课外知识导读
server {
listen 80;
server_name localhost;
# 处理的指令 , 访问资源根目录 , 直接通过 IP/ 域名的访问就可以进入该 location 中
location / {
# 设置代理地址 , 名字自己起一个 , 必须有一个 http:// 前缀
proxy_pass http ://linux.test;
}
}
# 添加一个代理模块
upstream linux. test
{
# 指定 web 服务器的地址
server 192.168.247.132:80;
server 192.168.247.135:80;
}
10.nginx的配置文件


11.关于nginx静态网页的部署和location

12.案例1部署

13.静态网页部署案例2


14.静态网页部署案例3


15.配置反向代理准备工作

16.反向代理设置



17.负载均衡的设置

18.负载均衡设置总结

