【学习笔记】Nginx学习

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

Nginx是高性能的HTTP和反向代理的web服务器占用内存小处理高并发连接强处理静态文件好耗费内存少

但是不支持Java语言Java程序只能通过与Tomcat配合完成

正向代理

客户端无法直接访问目标服务器而是通过向代理服务器发送请求代理向目标服务器转交并且将获得的内容返回给客户端从而实现客户端访问到目标服务器内容

需要在客户端配置代理服务器进行指定网站访问

反向代理

客户端对代理没有感知客户端并不需要任何配置就可以访问

客户端向反向代理发送请求代理选择目标服务器发送请求将获取的数据返回给客户端对客户端而言代理是目标服务器。

暴露的是代理服务器地址隐藏了真是服务器IP地址

负载均衡

访问量过大服务器处理请求处理不过来此时多开几个进程但是之前的端口只有一个如果我们另用一个端口客户端却是不得知的处理起来也麻烦且没必要。

以上情况使用反向代理的好处就显而易见我们隐藏了真正要访问的网址无需知道端口。此时就需要Nginx作为前置的反向代理。多个Tomcat时Nginx启用负载均衡的策略根据策略分散请求

此时用户无需知道端口也不需要做选择只需要访问代理服务器让它去选择就好

健康检查

Nginx内置健康检查功能如果一个服务器宕机时请求不会再发送给宕机的服务器了二回重新请求在其他节点上

服务器限流

即限制客户端请求速度防止服务器崩Nginx都是基于漏桶流算法

正常限制访问频率、突发限制访问频率、限制并发连接数

动静分离

为了加快网站的解析速度可以把动静态页面用不同的服务器来解析从而加快解析速度降低某单个服务器的压力。

Nginx的静态处理能力很强相反动态处理能力不足所以一般对于静态资源比如图片、js、css文件等放在Nginx中进行缓存这样浏览器在访问一个静态资源时Nginx可以直接处理不需要将请求转发给后端服务器

Nginx使用

配置文件

cd /usr/local/nginx/conf

vim nginx.conf

启动Nginx:

cd /usr/local/nginx/sbin

./nginx

关闭Nginx

./nginx -s stop

重启Nginx:

./nginx -s reload

访问IP端口在配置文件中配置端口默认是80

问题在win访问linux中nginx默认无法访问防火墙问题

关防火墙或者设置开放的端口号

Nginx配置文件有三部分组成

第一部分全局块

主要设置一些影响nginx服务器整体运行的配置指令只要包括配置运行Nginx服务器的用户组、运行生成的work process数进程PID存放的路径、日志存放路径和类型以及配置文件文件的引入等

work process高并发服务的关键配置值越大可支持的恶并发数越多但是受到硬件、软件等设备的制约

第二部分event块

主要影响Nginx服务器和用户的网络连接常见设置包括是否开启对多个word process下的网络哦连接进行序列化是否允许同时接受多个网络连接选取哪种事件驱动模型来处理连接请求等

Worker_connections 1024:每个word process可以同时支持的最大连接数

第三部分http块

反向代理模拟

1.在Windows系统的hosts文件进行域名和ip对应关系的配置

如果拒绝访问在该文件的属性中对用户权限设置为可修改

2.在Nginx进行请求转发的配置

3.在Windows上访问www.123.com出现Tomcat默认页面

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: nginx