14.Nginx重定向:Rewrite介绍及配置
[toc]
Rewrite基本概述什么是RewriteRewrite主要实现url地址重写,以及重定向,就是把传入web的请求重定向到其他url的过程。
Rewrite使用场景
地址跳转
用户访问www.chenlin.cloud这个URL是,将其定向至一个新的域名mobile.chenlin.cloud
协议跳转
用户通过http协议请求网站时,将其重新跳转至https协议方式
伪静态
将动态页面显示为静态页面方式的一种技术,便于搜索引擎的录入,同时建上动态URL地址对外暴露过多的参数,提升更高的安全性。
搜索引擎
SEO优化依赖于url路径,好记的url便于智齿搜索引擎录入
Rewrite配置语法及解析123456789101112131415161718192021语法:Syntax: rewrite regex replacement [flag]# 语法解析rewrite # 重定向regex # 正则表达式replacement # 你要替换的urlflag## 示例:rewrite blog.xxx.com www.baidu.co ...
13.Nginx动静分离、资源整合、资源分离
[toc]
动静分离概述什么是动静分离前后端分离,将前端代码和后端代码区分开;
前端代码由前端的开发人员来写,后端代码由后端的开发人员去写;
前后端建立连接使用AJAX
什么是静态资源
类似.jpg .png .css .js…不需要访问 数据库的资源,属于静态资源
什么是动态资源
需要访问数据库的资源:.php .jsp .py
什么是静态请求
用户发起的请求只访问前端资源,不访问数据库
什么是动态请求
用户发起的请求是访问后端资源,访问数据库(不是页面会动,就一定是动态请求)
部署动静分离和代理整合资源环境准备
主机名
WanIP
LanIP
角色
应用
web01
10.0.0.7
172.16.1.7
代理
nginx
web02
10.0.0.8
172.16.1.8
静态服务器
nginx
web03
10.0.0.9
172.16.1.9
动态服务器
tomcat
部署前端静态页面(web02)12345678910111213141516171819202122232425262728293031323334353637383 ...
12.Nginx四层负载均衡:端口映射
[toc]
四层负载均衡概述什么是四层负载均衡OSI七层网络模型中,四层是传输层,传输层就是端口到端口的通信方式;
四层负载均衡:及时在传输层做端口的转发(端口映射)
四层负载应用场景
四层负载均衡仅能转发TCP/IP协议、UDP协议、通常用来转发端口,如:TCP/SSH:22、UDP/53;
四层负载均衡可以用来解决七层负载均衡端口限制问题;(七层负载均衡最大使用65535个端口号) ????
四层负载均衡可以解决七层负载均衡高可用问题;(多台后端七层负载均衡能同时的使用)
四层的转发效率比七层的高得多,但仅支持TCP/IP协议,不支持http和https协议;
大并发场景通常会选择使用在七层负载前面增加四层负载均衡。
1234# 四层+七层来做负载均衡,四层可以保证七层负载的高可用;# nginx就无法保证自己服务的高可用,需要依赖LVS或者keepalive;# 比如tcp的负载均衡,有些请求是TCP协议(mysql ssh);# 一些请求只需要使用四层负载均衡进行端口的转发,我们会使用四层负载均衡
支持四层均衡和七层均衡的应用nginx
四层负载均衡(nginx1.9版 ...
11.Nginx七层负载均衡:会话保持
[toc]
会话保持的概述简介将用户登陆的状态记录下来,并且保持用户登陆状态
会话保持的方式
运维:nginx ip_hash
开发
cookie
前端开发用户将用户登陆的信息,保存到浏览器中(开发者工具->application->cookie)
如果仅仅将用户的登陆信息保存在cookie中,随时可以修改的
session
后端开发人员,将用户的登录信息记录在 服务器上 (共享存储,某一个问及那家下的某个文件,数据库中,缓存数据库..)
session是对cookie做的一个加密,保存在服务器中
部署phpMyadmin环境准备
主机名
WanIP
LanIP
角色
应用
lb01
10.0.0.5
172.16.1.5
负载均衡
nginx
web01
10.0.0.7
172.16.1.7
phpmyadmin网站
nginx php
web02
10.0.0.8
172.16.1.8
phpmyadmin网站
nginx php
db01
10.0.0.51
172.16.1.51
数据库
Mariadb
部署(we ...
10.Nginx负载均衡
[toc]
nginx的七层负载均衡概述负载均衡简介为什么使用负载均衡
解决web服务器的单点故障
让web服务器构成一个集群
将请求平均下发给后端的web服务器
负载均衡的叫法
load balance(LB)
server load balance(SLB)
公有云负载均衡
阿里云 SLB 阿里云负载均衡(Server Load Balancer,简称SLB)
腾讯云 CLB
青云 LB
AWS ELB
负载均衡的软件和硬件
软件:
nginx
HAproxy
LVS
硬件:
F5
七层和四层的区别
一个七层 传输层,一个是七层,应用层
四层比七层快
四层无法识别域名,七层可以识别域名
nginx七层负载实现场景
nginx要实现负载均衡依赖一个proxy_pass代理模块
Nginx负载均衡和Nginx代理不同的地方:
nginx的代理location层仅只能代理一台服务器
nginx的负载均衡可以代理多台服务器
负载均衡的语法123456789101112131415161718192021222324252627282930Syntax ...
1.Nginx入门和安装
[toc]
集群架构图
Nginx概述简介
nginx官网
https://nginx.org/
nginx介绍
Nginx是一个开源且高性能、可靠的Http Web服务、代理服务。
开源: 直接获取源代码
高性能: 支持海量并发
可靠: 服务稳定
nginx的应用场景
nginx快速安装nginx的三种安装方式
源码编译=>Nginx (1.版本随意 2.安装复杂 3.升级繁琐 4.规范 5.便于管理)
epel仓库=>Nginx (1.版本较低 2.安装简单 3.配置不易读)
官方仓库=>Nginx (1.版本较新 2.安装简单 3.配置易读)
源码安装nginx12345678910111213141516171819202122232425262728293031323334353637383940# 获取nginx源码包mkdir /source_codecd /source_code/wget https://nginx.org/download/nginx-1.20.2.tar.gz# 安装依赖yum install -y pcre-deve ...
4.Firewalld防火墙
[toc]
防火墙安全概述在CentOS7系统中集成了多款防火墙管理工具,默认启用的是firewalld(动态防火墙管理器)防火墙管理工具,Firewalld支持CLI(命令行)以及GUI(图形)的两种管理方式。对于接触Linux较早的人员对Iptables比较熟悉,但由于Iptables的规则比较的麻烦,并且对网络有一定要求,所以学习成本较高。但firewalld的学习对网络并没有那么高的要求,相对iptables来说要简单不少,所以建议刚接触CentOS7系统的人员直接学习Firewalld。
防火墙的规则
入站
出战
如果开启防火墙工具,并且没有配置任何允许的规则,那么从外部访问防火墙设备默认会被阻止,但是如果直接从防火墙内部往外部流出的流量默认会被允许。
firewalld 只能做和IP/Port相关的限制,web相关的限制无法实现。
区域选项策略区域选项策略概述那么相较于传统的Iptables防火墙,firewalld支持动态更新,并加入了区域zone的概念简单来说,区域就是firewalld预先准备了几套防火墙策略集合(策略模板),用户可以根据不同的场景选择不同的策略 ...
3.SSH远程连接、SCP命令
[toc]
SSH远程连接SSH相关命令1234567891011121314151617181920# ssh(远程连接命令)ssh 22 # 默认支持root登录,加密传输telnet 23 # 默认不支持root登录,明文传输# 语法格式ssh -p22 root@10.0.0.61## root@remotehost## "@"前面为用户名,如果用当前用户连接,可以不指定用户## "@"后面为要连接的服务器的IP# 选项-p # 指定连接远程主机端口,默认22端口可省略# 退出返回当前主机logout# 不远程连接执行命令ssh root@10.0.0.7 'ls -l /etc'## 不能使用命令别名
ssh免密连接概述ssh免密连接(密钥对验证方式登录)
生成密钥将公钥发给指定用户,即可凭私钥免密访问此设备
密钥对操作生成秘钥对12345678910111213141516171819202122232425262728# 生成秘钥对ssh-keygen# 将秘钥保存到文件中,可以指定其他路径(默认保 ...
2.OSI七层网络模型
[toc]
OSI七层网络模型的概念简介
网络建立的目的
互相通信,
统一通信标准,互联网协议
七层网络模型分别为:
物理层
数据链路层
网络层
传输层
会话层
表示层
应用层
区分OSI
OSI:七层网络模型
IOS:苹果的操作系统
ISO:镜像文件
功能OSI七层模型
物理层
网络硬件设备
数据链路层
以太网、网卡,MAC地址 电信号组成数据帧 帧:报头18和数据46 通过广播传输数据
网络层
解决广播风暴故障 出现路由协议(IP、Novell公司的IPX以及AppleTalk协议) IP地址+子网掩码 按位与运算,来计算IP地址是否在同一网段 通过IP地址传输数据
传输层
端口范围:0-65535,系统占用:0-1023 TCP协议和UDP协议 TCP协议: 三次握手 四次挥手 11种状态 通过端口到端口传输数据
会话层
建立会话 保持会话 断开会话
表示层
转码/解码 解压/压缩 加密/解密
应用层
为操作系统或网络应用程序提供访问网络服务的接口,规定应用程序的数据格式
物理层物理层的描述
物理层的描述:
主要定义物理设备标准,如 ...
1.HTTP介绍及工作原理
[toc]
HTTP协议介绍HTTP
什么是HTTP
HTTP 全称:Hyper Text Transfer Protocol 中文名:超文本传输协议
什么是超文本传输协议
是一种按照URL指示,将超文本文档从一台主机(Web服务器)传输到另一台主机(浏览器)的应用层协议,以实现超链接的功能。
什么是超文本
包含有超链接(Link)和各种多媒体元素标记(Markup)的文本。
这些超文本文件彼此链接,形成网状(Web),因此又被称为网页(Web Page),这些链接使用URL表示。
最常见的超文本格式是超文本标记语言HTML。
html文件->包含各种各样的元素(URL链接)->形成WebPage简称web页面
URL
什么是URL
URL即统一资源定位符(Uniform Resource Locator),用来唯一地标识万维网中的某一个文档。
URL结构
URL由:协议、主机和端口(默认80) 文件名,三部分构成:
HTTP工作原理
在浏览器中输入一个网址的时候https://www.chenlin.cloud/
浏览器分析URL
浏览器会帮你 ...