加入收藏 | 设为首页 | 会员中心 | 我要投稿 威海站长网 (https://www.0631zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Unix > 正文

Nginx的这些妙用,你肯定有不知道的!

发布时间:2019-12-26 10:42:06 所属栏目:Unix 来源:站长网
导读:副标题#e# Nginx 因为它的稳定性、丰富的模块库、灵活的配置和较低的资源消耗而闻名 。目前应该是几乎所有项目建设必备。今天通过这篇攻略让你快速通关 Nginx。 图片来自 Pexels Nginx 简介 Nginx 是一个免费、开源、高性能、轻量级的 HTTP 和反向代理服务

添加监听端口、访问名字重点是添加 Location,最后检查 Nginx 配置是否正确即可,然后测试动静分离是否成功,只需要删除后端 Tomcat 服务器上的某个静态文件,查看是否能访问,如果可以访问说明静态资源 Nginx 直接返回了,不走后端 Tomcat 服务器。

Nginx 的 Rewrite

Rewrite 是 Nginx 服务器提供的一个重要的功能,它可以实现 URL 重写和重定向功能。

场景如下:

URL 访问跳转,支持开发设计。页面跳转、兼容性支持(新旧版本更迭)、展示效果(网址精简)等

SEO 优化(Nginx 伪静态的支持)

后台维护、流量转发等

安全(动态界面进行伪装)

该指令是通过正则表达式的使用来改变 URI。可以同时存在一个或多个指令。需要按照顺序依次对 URL 进行匹配和处理。

该指令可以在 Server 块或 Location 块中配置,其基本语法结构如下:

rewrite regex replacement [flag]; 

①采用反向代理 Demo2 中的例子,修改 nginx.conf(只多加了一行 Rewrite):

server { 

        listen       80; 

        server_name  localhost; 

 

        location /java/ { 

            proxy_pass :8080; 

            rewrite ^/java /egg/ redirect; 

        } 

 

        location /egg/ { 

            proxy_pass :8081; 

        } 

②./nginx -s reload,验证效果(输入 ip/java/ 被重定向到了 egg):

Nginx的这些妙用,你肯定有不知道的!

Rewrite 指令可以在 Server 块或 Location 块中配置,其基本语法结构如下:

rewrite regex replacement [flag]; 

rewrite 的含义:该指令是实现 URL 重写的指令。

regex 的含义:用于匹配 URI 的正则表达式。

replacement:将 regex 正则匹配到的内容替换成 replacement。

flag:flag 标记。

flag 有如下值:

last:本条规则匹配完成后,继续向下匹配新的 Location URI 规则。(不常用)

break:本条规则匹配完成即终止,不再匹配后面的任何规则(不常用)。

redirect:返回 302 临时重定向,浏览器地址会显示跳转新的 URL 地址。

permanent:返回 301 永久重定向。浏览器地址会显示跳转新的 URL 地址。

rewrite ^/(.*) $1 permanent; 

Nginx 高可用

如果将 Web 服务器集群当做一个城池,那么负载均衡服务器就相当于城门。如果“城门”关闭了,与外界的通道就断了。

如果只有一台 Nginx 负载服务器,当故障宕机的时候,就会导致整个网站无法访问。

所以我们需要两台以上 Nginx 来实现故障转移和高可用:

Nginx的这些妙用,你肯定有不知道的!

那么如何配置高可用?

①双机热备方案

这种方案是国内企业中最为普遍的一种高可用方案,双机热备其实就是指一台服务器在提供服务,另一台为某服务的备用状态,当一台服务器不可用另外一台就会顶替上去。

Keepalived 是什么?Keepalived 软件起初是专为 LVS 负载均衡软件设计的,用来管理并监控 LVS 集群系统中各个服务节点的状态。

后来又加入了可以实现高可用的 VRRP (Virtual Router Redundancy Protocol ,虚拟路由器冗余协议)功能。

因此,Keepalived 除了能够管理 LVS 软件外,还可以作为其他服务(例如:Nginx、Haproxy、MySQL 等)的高可用解决方案软件。

②故障转移机制

Keepalived 高可用服务之间的故障切换转移,是通过 VRRP 来实现的。

在 Keepalived服务正常工作时,主 Master 节点会不断地向备节点发送(多播的方式)心跳消息,用以告诉备 Backup 节点自己还活着。

当主 Master 节点发生故障时,就无法发送心跳消息,备节点也就因此无法继续检测到来自主 Master 节点的心跳了,于是调用自身的接管程序,接管主 Master 节点的 IP 资源及服务。

而当主 Master节点恢复时,备 Backup 节点又会释放主节点故障时自身接管的 IP 资源及服务,恢复到原来的备用角色。

实现方法如下:①准备两台安装 Nginx 和 Keepaliver(yum install keepalived -y)的服务器

②修改两台服务器上的 /etc/keepalived/keepalived.conf

#主机 

#检测脚本 

vrrp_script chk_http_port { 

    script "/usr/local/src/check_nginx.sh" #心跳执行的脚本,检测nginx是否启动 

(编辑:威海站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读