ngix详解

ngix是什么

Nginx是一款轻量级、高性能的Web服务器、反向代理服务器,由于它的内存占用少,启动极快,高并发能力强,在互联网项目中广泛应用。

正向代理:

客户端访问服务器时,统一通过一个代理服务器把请求转发给服务器,此时代理的是客户端,即客户端时透明的,服务器不知道请求来自哪一个客户端。正向代理模式屏蔽或者隐藏了真实客户端信息。

反向代理:


此时请求的来源也就是客户端是明确的,客户端将请求发送给反向代理服务器,反向代理服务器去访问真实的服务器,但是请求具体由哪台服务器处理的并不明确了,此时代理的是服务端。

ngix详解_第1张图片

 

反向代理的优势:

  • 保证内网的安全,通常将反向代理作为公网访问地址,Web 服务器是内网。
  • 负载均衡,通过反向代理服务器来优化网站的负载。当我们有多个服务器时,ngix可以根据负载均衡的策略转发给不同的服务器,保证服务的可用。
  • 动静分离,原先一台服务器,动态资源(如:jsp,servlet)和静态资源(如:html,js)都在这台服务器上,导致服务器压力大。为了减小服务器压力,可以将动态和静态资源放到不同服务器上。

ngix的安装及使用

下载地址:http://nginx.org/en/download.html ,以下内容转载至:Nginx详解_星空1024的博客-CSDN博客

ngix详解_第2张图片

ngix详解_第3张图片 

ngix详解_第4张图片 

Nginx常用命令

使用nginx操作命令前提条件:必须进入nginx的安装目录下的sbin目录

cd /usr/local/nginx/sbin

1查看nginx版本号命令

./nginx -v

 

2 启动nginx命令
./nginx

ngix详解_第5张图片

3关闭nginx命令
./nginx -s stop

ngix详解_第6张图片

4 重新加载nginx
即修改了nginx的配置文件,默认不会马上生效,可以重启让它生效,但是现在我不想重启,让配置文件重新加载就会生效(即不要重启服务器也会生效)

./nginx -s reload

 

Nginx的配置文件

 在这里插入图片描述
Nginx配置文件由三部分组成:

第一部分:全局块

从配置文件开始,到events之前的都属于全局块
在这里插入图片描述
详细说明:
在这里插入图片描述

第二部分:events块

在这里插入图片描述
在这里插入图片描述

第三部分:http块

在这里插入图片描述

http全局块

http全局块配置的指令包括文件引入、MIME-TYPE定义、日志自定义、连接超时时间、单链接请求数上限等

在这里插入图片描述

server块

在这里插入图片描述
Server块中又很多的注释,那些是可以参考的例子

Nginx配置实例1——反向代理

准备工作
在这里插入图片描述
流程图
在这里插入图片描述
在nginx的配置中文件中配置vim /usr/local/nginx/conf/nginx.conf

在这里插入图片描述
编写好后重新加载nginx
在这里插入图片描述
Window中C:\Windows\System32\drivers\etc本地域名解析
在这里插入图片描述

测试访问的效果

ngix详解_第7张图片

Nginx配置实例2——反向代理


实现效果:使用nginx反向代理,根据访问的路径跳转到不同端口的服务中
Nginx监听端口为9001
访问http://127.0.0.1:9001/edu/ 直接跳转到127.0.0.1:8080
访问http://127.0.0.1:9001/vod/ 直接跳转到127.0.0.1:8081

ngix详解_第8张图片

 

准备工作
(2)中是在端口为8080的tomcat的webapps文件下下创建edu文件夹,文件夹下创建a.html(里面内容略)。8081的tomcat的webapps文件下下创建vod文件夹,文件夹下创建a.html(里面内容略)。


配置完成后,防火墙应该开放相应的端口9001 8080 8081
然后重新加载nginx

访问结果

ngix详解_第9张图片

 

Nginx正则配置

在这里插入图片描述

 ngix详解_第10张图片


 

ngix负载均衡

Nginx 实现负载均衡用到了 proxy_pass 代理模块核心配置, 将客户端请求代理转发至一组 upstream 虚拟服务池。
负载均衡和反向代理的区别是,反向代理由代理服务器指定特定的服务器去请求资源,而负载均衡中的代理服务器将请求转发给虚拟服务池,具体由那个服务器处理根据相应的算法来定。
 

案例:转载至:超详细的Nginx负载均衡+高可用配置(亲测附图)_nginx负载均衡压力测试效果图_IT_10-的博客-CSDN博客

配置负载均衡例1

在A和B两台主机上做相同的如下配置
在这里插入图片描述
在这里插入图片描述
现在分别访问三次A主机和B主机都会出现的情况是:I am -.-.-.244 server连续出现两次,第三次是I am -.-.-.17 server,此后的刷新都是按照该规律

Nginx配置实例—负载均衡

实现效果:
(1) 浏览器地址栏输入地址:http://服务器ip/edu/a.html,负载均衡效果,请求平均分担到8080,8081端口中。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

 

Nginx配置—动静分离

在这里插入图片描述
动态请求:比如我数据要从数据库获取,这个可以理解为动态请求
在这里插入图片描述

 

准备工作,cd / 然后mkdir data 再data文件夹下创建www(用于存放静态页面),image(存放图片的文件夹)
在这里插入图片描述
修改nginx的配置文件,然后重新加载配置文件(root data访问的image或访问www的时候他会去访问data目录下的。。。)
在这里插入图片描述

在这里插入图片描述
访问就列出了image文件夹中的内容,因为上面配置autoindex on的作用
在这里插入图片描述
访问图片正常

在这里插入图片描述
从上面访问静态资源可以看到不是从请求tomcat,而是直接请求静态资源,实现了nginx静态访问

 

你可能感兴趣的:(java,nginx)