Nginx入门

① NGINX简介:
Nginx是一个http服务器,是一个使用c语言开发的高性能的http服务器及反向代理服务器。Nginx是一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。由俄罗斯的程序设计师Igor Sysoev所开发,官方测试nginx能够支支撑5万并发链接,并且cpu、内存等资源消耗却非常低,运行非常稳定,更新完配置后可以不用重启服务就可以重新加载配置,只需要执行该命令:nginx -s reload

官方文档导航:NGINX Reverse Proxy | NGINX Plus

② Nginx能干什么?

一、作为一个 http服务器:

Nginx是一个http服务可以独立提供http服务。可以做网页静态服务器。

 二、虚拟主机,可以实现一台服务器虚拟出多个网站,基于配置进行操作。

①基于端口:使用不同的端口实现虚拟出多个网站。

②基于域域名:使用不同域名实现虚拟出多个网站。

三、代理服务,负载均衡

1、为什么需要代理服务、负载均衡呢?

①当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用nginx做代理。

②通过多台服务器进行平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。

2、代理是什么呢?有哪几种类型?

①代理服务器是介于客户端和Web服务器之间的另一台服务器,有了它之后,浏览器不是直接到Web服务器去取回网页而是向代理服务器发出请求,信号会先送到代理服务器,由代理服务器来取回浏览器所需要的信息并传送给你的浏览器。

②代理的类型有正向代理、反向代理:

正向代理:正向代理的对象是客户端,客户端将发送的请求和制定的目标服务器都提交给代理服务器,然后代理服务器向目标服务器发起请求,并将获得的结果返回给客户端的过程。

 常用nginx代理的场景如下:

1 为在防火墙内的局域网客户端提供访问Internet的途径,如google网站
2 可以做缓存,加速访问资源
3 对客户端访问授权,上网进行认证
4 代理可以记录用户访问记录(上网行为管理),对外隐藏用户信息

反向代理:反向代理的对象就是服务器,它的作用现在是代替服务器接受请求,然后再将请求转发给后端服务器。

③ 应该怎样使用呢?

nginx的安装:

直接yum进行安装

 yum -y install nginx   //安装nginx
systemctl start nginx.service   //启动nginx
systemctl enable nginx.service    //开机自启


 ①:重定向

使用rewrite对域名返回302重定向

重定向文件在nginx.conf中进行配置

 flag标志位配置解释:

rewrite 后面可以加flag,flag标记有:

last 相当于Apache里的[L]标记,表示完成rewrite

break 终止匹配, 不再匹配后面的规则

redirect 返回302临时重定向 地址栏会显示跳转后的地址

permanent 返回301永久重定向 地址栏会显示跳转后的地址

server {
    listen             80;
    server_name     www.btyuit.com;
    rewrite  ^/(.*)$     http://www.b.com/$1 permanent;
}

 首先在192.168.17.154这台主机上安装好nginx,再在/etc/hosts和要访问的客户端里添加好配置。

192.168.17.154    www.btyuit.com

 192.168.17.155这台主机安装tomcat服务,tomcat服务怎么安装,可以百度一下。

 测试,访问www.btyuit.com直接会跳转到你指定的网站 。

使用return (redirect)返回301重定向 

在nginx.conf配置完后进行重新加载配置 :nginx -s reload 

输入www.btyuit.com会直接跳转到http://192.168.17.155:8080就是tomcat的服务页面

 

②负载均衡:

Nginx负载均衡分发策略:

Nginx 的 upstream目前支持的分配算法: 
1)、轮询 ——1:1 轮流处理请求(默认)

      每个请求按时间顺序逐一分配到不同的应用服务器,如果应用服务器down掉,自动剔除,剩下的继续轮询。 

轮询方式是Nginx负载默认的方式,所有请求都按照时间顺序分配到不同的服务上,如果服务Down掉,可以自动跳过该台服务器。

upstream  dceshi-server {
       server    localhost:8080;
       server    localhost:8081;
}

2)、权重 ——you can you up,no can no bi bi。
通过配置权重,指定轮询几率,权重和访问比率成正比,用于应用服务器性能不均的情况。 

指定每个服务的权重比例,weight和访问比率成正比,通常用于后端服务机器性能不统一,将性能好的分配权重高来发挥服务器最大性能,如下配置后8081服务的访问比率会是8080服务的二倍。

upstream  cs-server {
       server    localhost:8080 weight=1;
       server    localhost:8081 weight=2;
}

3)、ip_哈希算法
      每个请求按访问ip的hash结果分配,这样每个访客固定访问一个应用服务器,可以解决session共享的问题。 

每个请求都根据访问ip的hash结果分配,经过这样的处理,每个访客固定访问一个后端服务,如下配置(ip_hash可以和weight配合使用)。

pstream  cs-server {
       ip_hash; 
       server    localhost:8080 weight=1;
       server    localhost:8081 weight=2;
}

学如逆水行舟,不进则退!!!!

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码

)">
< <上一篇
下一篇>>