当前位置: 首页 > article >正文

C++学习之云盘项目nginx

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的途径**==, 比如: 
   >
   > - 学校的局域网
   > - 单位局域网访问外部资源 

![](051157002507977.jpg)

​    正向代理就是有有一台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.负载均衡设置总结


http://www.kler.cn/a/591739.html

相关文章:

  • 无人机市场观察2025.3.18
  • 计算机网络进化论:从比特流到量子通信的深层解构
  • 使用Koa2快速搭建一个爬虫项目
  • C语言之数据结构:链表(一)
  • Web元件库 ElementUI元件库+后台模板页面(支持Axure9、10、11)
  • Spark 解析_spark.sparkContext.getConf().getAll()
  • Kafka详解——介绍与部署
  • 【Linux】Bash是什么?怎么使用?
  • 森林防火预警广播监控系统:以4G为纽带架构融合智能广播、远程监控、AI智能识别、告警提示、太阳能供电于一体的新一代森林防火预警系统
  • LeetCode 392. 判断子序列 java题解
  • 在 Ubuntu 中配置 NFS 共享服务的完整指南
  • C++ —— 线程同步(互斥锁)
  • OpenCV图像拼接(1)概述
  • 【Vue3+Vite指南】全局引入SCSS文件后出现Undefined mixin?一招解决命名空间陷阱!
  • 机器视觉工程师如何学习C#通讯
  • Flask实时监控:打造智能多设备在线离线检测平台(升级版)
  • 移动版 Edge :插件安装功能全面指南
  • SpringBoot-MVC配置类与 Controller 的扫描
  • 【Java】链表(LinkedList)(图文版)
  • QT学习笔记1