如果Linux系统中没有安装wget,需要先行安装
安装后的目录
通过浏览器进行访问
正向代理:
客户端(需要配置代理服务器)—>局域网—>Internet
客户若访问局域网外部的Internet,需要通过局域网的代理服务器进行
反向代理
客户端—>反向代理服务器---->目标服务器
客户端不需要任何配置,只需要将请求发送给反向代理服务器
对外暴露的是代理服务器,而隐藏真实的目标服务器
负载均衡
增加服务器的数量,将请求分发到各个服务器上面。
客户端(15个请求)—>反向代理服务器—>服务器(3台)
动静分离
为了加快网站速度,将动态页面和静态页面分开放到不同的服务器
==============================================
必须进入nginx目录中使用命令 /usr/local/nginx/sbin
nginx配置文件:
主要有三部分构成:全局块+event块+http块
全局块:配置运行nginx服务器的用户(组)、允许生成的worker process数,进程PID存放路径、日志存放路径和类型以及配置文件的引入等
event块:nginx服务器与用户网络的连接
http块:配置最频繁的部分,代理、缓存、日志等第三方模块绑定
==================
配置nginx反向代理
浏览器www.123.com —> 跳转linux系统的tomcat主页
对于windows浏览器需要通过本地的host文件找到 配置域名映射的ip,若没有则通过网络上的DNS进行匹配
docker run --name my_tomcat -it -d -p 8080:8080 tomcat 启动tomcat
docker run -p 80:80 -d nginx 启动nginx
docker exec -it 469bfd0dc27a /bin/bash 进入容器内部
第一步:C:\Windows\System32\drivers\etc 找到host文件
如下配置后,可以直接通过域名www.123.com访问到指定的页面
第二步:在nginx进行反向代理配置
进入容器内部修改配置文件如下(系统下必须安装:apt install vim):docker exec -it c1ea5ab43c78 /bin/bash
修改etc/nginx目录下的nginx.conf
若出现 command not found
则使用以下命令:
apt-get update
apt-get install -y vim
然后重新运行容器:
docker stop c1ea5ab43c78
docker restart c1ea5ab43c78
docker rm -f 1e560fca3906 删除容器
根据客户端的不同请求路径,通过nginx进行判断,从而跳转到不同的服务器
准备两个tomcat服务器,端口分别为8080,8081
通过tomcat根目录下的conf中server.xml修改端口
在tomcat中的webapps目录下创建一个文件夹edu,并放入a.html
在另一个webapps以同样的方式创建vod,并放入a.html
通过浏览器进行访问http://ip:端口号/edu/a.html或者http://ip:端口号/vod/a.html
====================================
配置负载均衡
在nginx的配置文件中实现负载均衡的配置
效果是:每次请求都会跳转到不同的服务器
对于负载均衡的分配方式,有以下集中策略:
动静分离
把动态去请求和静态请求分开,而不是单纯的把静态页面和动态页面物理分离
可以理解为:使用Nginx处理静态页面,Tomcat处理动态页面
大致分为两种来实现动静分离:
纯粹把静态文件独立成单独的域名放在静态服务器上
动态和静态文件混在一起,通过nginx来分开
过程:
在data目录下,分别创建两个目录image(01.jpg)、 www(a.html)
通过nginx配置访问
最终浏览器访问方式:
配置文件中的autoindex on; 列出文件夹中的内容
=======================
高可用:
如果nginx宕机,但请求过程仍然可用
对外提供一个虚拟的ip:192.168.17.50 进行绑定
需要两台linux环境nginx服务器,并安装好keepalived
安装后在etc中keepalived中的配置文件中进行配置
keepalived.conf文件中进行高可用配置
指定主、备机,并指定脚本文件(检测nginx是否活着)
======================
高可用配置信息keepalived.conf
全局配置
检测脚本配置
虚拟ip配置
全局配置中,配置访问到的主机名(先通过vi /etc/host 进行设定)
=================
Nginx原理
nginx启动后有两个进程:master、worker
worker如何进行工作?
一个master,多个worker的好处:
可以使用nginx -s reload热部署
每个worker独立进程
worker数量和CPU核数相等最合适
worker的连接数
发送请求,占用了worker几个连接数(2个或4个)
客户端—>nginx—>静态资源(2个)
客户端—>nginx—>tomcat(4个)
nginx有一个master,四个worker,每个worker支持最大的连接数据是1024,支持最大的并发数是多少
1024X4/2
公式如下: