1、Nginx简介
1.1、Nginx概念及作用
概念:Nginx是高性能的HTTP和反向代理的web服务器,特点是占有内存少,由于它处理高并发能力非常强大,常用于高并发场景,能经受高负载的考验。
Nginx 专为性能优化而开发,性能是其最重要的考量,实现上非常注重效率,能经受高负载的考验,有报告表明能支持高达 50,000 个并发连接数。
1.2、正向代理
我们需要在客户端配置代理服务器,此时将代理服务器和客户端看成一个客户端,这样服务器就不知道是哪个客户端发送的请求,通过代理服务器进行访问,这就是正向代理

反向代理服务器和目标服务器对外就是一个服务器,所以我们需要把它们看成一个服务端,暴露的是代理服务器 IP 地址,隐藏了真实服务器 IP 地址,这样客户端就不知道请求最后到底发送给哪台服务器



注意:使用Nginx操作命令前提,必须进入到Nginx目录 /usr/local/nginx/sbin
常用命令:
- 查看Nginx版本号:./nginx -v





- 全局块
从配置文件开始到 events 块之间的内容,主要会设置一些影响 nginx 服务器整体运行的配置指令
比如:worker_processes 1
这是 Nginx 服务器并发处理服务的关键配置,worker_processes 值越大,可以支持的并发处理量也越多,但是会受到硬件、软件等设备的制约
2.events块
events 块涉及的指令主要影响 Nginx 服务器与用户的网络连接
比如:worker_connections 1024
表示每个 work process 支持的最大连接数为 1024这部分的配置对 Nginx 的性能影响较大,在实际中应该灵活配置。
3.http块

4、Nginx配置实例
4.1、反向代理
4.1.1、反向代理准备工作
实现效果:
打开浏览器,输入地址www.123.com,跳转到Linux系统上的Tomcat主页面
注意:进行案例演示之前,请确保Linux上已经安装Nginx和Tomcat!
- 进入到tomcat的bin目录中,输入命令启动服务器:./startup.sh
- 对外开放访问的端口:firewall-cmd –add-port=8080/tcp –permanent
- 重启防火墙:firewall-cmd –reload
- 在window系统中通过浏览器访问tomcat服务器



4.1.3、反向代理实例(二)
实现效果:
使用 nginx 反向代理,根据访问的路径跳转到不同端口的服务中
nginx 监听端口为 9001 访问
http://192.168.50.128:9001/edu/a.html 直接跳转到 127.0.0.1:8080
http://192.168.50.128:9001/vod/a.html 直接跳转到 127.0.0.1:8081
- 在/usr/src目录下创建两个文件夹分别是:tomcat8080,tomcat8081,将tomcat压缩包分别拖入到两个文件夹中,并解压:tar -xvf apache-tomcat-7.0.70.tar.gz,解压完成后启动两个tomcat
- 分别在两个tomcat中的webapps目录下存放edu文件和vod文件,文件夹下分别存放两个html页面,用于测试
- 找到nginx配置文件,进行方向代理配置

firewall-cmd --add-port=端口号/tcp --permanent
5.进行测试
4.2、负载均衡
实现效果:浏览器输入http://192.168.50.128/edu/a.html,负载均衡效果,将请求轮询形式转发到8080,8081端口
- 准备两台tomcat服务器,一台是8080,另一台是8081
- 在两台tomcat的webapps目录中,分别创建edu文件夹,在edu中放入a.html文件
- 在nginx配置文件中的http块进行负载均衡的配置

1.轮询(默认):每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器 down 掉,能自动剔除。
2.weight:weight 代表权,重默认为 1,权重越高被分配的客户端越多指定轮询几率,weight 和访问比率成正比,用于后端服务器性能不均的情况。



4.3.1、动静分离准备工作
在Linux系统根目录中创建data文件夹,文件夹中存放两个文件夹分别为:
- www
- image
- 在www中放入a.html文件,在image文件夹中放入01.jpg图片
4.3.2、动静分离实例
- nginx配置文件中进行配置

在浏览器中输入地址:http://192.168.50.128/image/01.jpg


5、Nginx工作原理解析
1.master & worker


4.设置多少个 woker 合适?
worker 数和服务器的 cpu 数相等是最为适宜的
5.连接数 worker_connection
第一个:发送请求,占用了 woker 的几个连接数?答案:2 或者 4 个
第二个:nginx 有一个 master,有四个 woker,每个 woker 支持最大的连接数 1024,支持的最大并发数是多少?普通的静态访问最大并发数是: worker_connections * worker_processes / 2,
而如果是 HTTP 作 为反向代理来说,最大并发数量应该是 worker_connections * worker_processes/4

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 ivillcn@qq.com 举报,一经查实,本站将立刻删除。文章链接:https://www.shangraobbs.com/n/2995.html