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.负载均衡设置总结

