Nignx

Nignx的文件存放在 /usr/local/ nginx

nginx 重启操作 systemctl reload nginx.service 

一、Nginx的大概流程

二、Nginx的配置文件

worker_processes 1; 默认为1,表示开启一个业务进程

worker_connections 1024; 单个业务进程可接受连接数

include mime.types; 引入http mime类型,其中的mime.types文件

 default_type application/octet-stream; 如果mime类型没匹配上,默认使用二进制流的方式传输。

sendfile on; 使用linux的 sendfile(socket, file, len) 高效网络传输,也就是数据0拷贝。

未开启sendfile

开启sendfile

 虚拟主机配置

自定义:

 systemctl reload nginx.service   重启nginx

效果

server_name的多种匹配方法

        1.可以写多个主机名

 

        2 .支持通配符的形式

 

 反向代理

 正向代理就是你去找中间人代理买东西,购买人不露面,反向代理就是代理服务器,卖家不想暴露自己的真实IP,就推出一个代理商,你向代理商购买,不直接向公司连接

 如何使用:使用关键词proxy_pass

注意点:http不是https ,后面有分号

 效果

负载均衡(轮询)

负载均衡基础配置

基础配置-想达到的效果就是雨露均沾,访问192.168.226.128,会一会跳转到192.168.226.129,一会跳转到192.168.226.130

在192.168.226.128的nginx的配置文件中

 效果:

 

 负载均衡高级配置-权重

weight(权重) 指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。

upstream httpd {
    server 127.0.0.1:8050 weight=10 down;
    server 127.0.0.1:8060 weight=1;
    server 127.0.0.1:8060 weight=1 backup;
}

down:表示当前的server暂时不参与负载

weight:默认为1.weight越大,负载的权重就越大。

backup: 其它所有的非backup机器down或者忙的时候,请求backup机器。

单独的轮询肯定是不行的,因为它无法保存会话 

动静分离

基础的反向代理,我们要去Tomcat中访问静态资源

 动静分离就是将tomcat中的静态资源前置到nginx里

 方法一:静态资源不是很多的情况下

本次使用的网页对应的文件夹内容: 

 在主机ip为192.168.226.128中配置,当访问http://192.168.226.128:8080/时,会跳转到对应网页

 

 效果

 删除所有静态文件之后的页面效果和文件夹

 并且使用反向代理,在主机ip为192.168.226.129,并将静态资源放置到该nginx中进行加载

 动静分离后的效果

 

 优化使用正则表达式:

 UrlRewrite

 作用:我们使用/index.jsp?pageNum=3 进行跳转,跳转到第三页,感觉太长了

        希望在地址栏输入/3.html就能进行跳转

方法:

rewrite是实现URL重写的关键指令,根据regex (正则表达式)部分内容, 重定向到replacement,结尾是flag标记。

rewrite  <regex>  <replacement>    [flag];

关键字      正则         替代内容       flag标记

正则:perl兼容正则表达式语句进行规则匹配

替代内容:将正则匹配的内容替换成replacement

flag标记:rewrite支持的flag标记

rewrite参数的标签段位置: server,location,if

flag标记说明:

last #本条规则匹配完成后,继续向下匹配新的location URI规则

break #本条规则匹配完成即终止,不再匹配后面的任何规则   break的意思类似于switch..case..中的break

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

permanent #返回301永久重定向,浏览器地址栏会显示跳转后的URL地址

例子:

 网关服务器

当一个nginx服务器有多个功能(比如反向代理,rewrite,动静分离,负载均衡)的时候我们称他为网关服务器

操作一:原本我们设置的是使用192.168.226.129反向代理192.168.226.128并且实现动静分离,现在我们希望192.168.226.128只能通过内网(192.168.226.129)进行访问,外网不可以访问

首先开启192.168.226.128的防火墙:

systemctl start firewalld

其次指定端口和ip访问:只允许192.168.226.129:8080访问

firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.226.129"port protocol="tcp" port="8080" accept"

最后重启防火墙

systemctl restart firewalld

移除规则

firewall-cmd --permanent --remove-rich-rule="rule family="ipv4" source address="192.168.226.129"
port protocol="tcp" port="8080" accept"

操作二:加上负载均衡

 防盗链

现在192.168.226.129(网关服务器) 反向代理 192.168.226.128

192.168.226.130反向代理192.168.226.129,这样192.168.226.130也可以正常访问192.168.226.128

如果使用192.168.226.130访问,那么静态资源的referer就是http://192.168.226.130/

 ​​​​​

 我们希望只有referer是http://192.168.226.129/ 

的网页才能访问http://192.168.226.128/静态资源

方法:在网关服务器192.168.226.129中配置,在希望防盗链的静态资源的local中添加

valid_referers 192.168.226.129;
if ($invalid_referer) {
    return 403;
}

 效果:

192.168.226.130的效果

 

 192.168.226.129的效果-正常访问

 但是如果是下载链接之类的,可以在其他软件中打开:加上none

location ~*/(api|images|plugins|styles){
    valid_referers none 192.168.226.129;
    if ($invalid_referer) {
        return 403;
    }
    root   html;
    index  index.html index.htm;
}

 总结:防盗链配置

valid_referers none | blocked | server_names | strings ....;

 none, 如果referer不存在那么就可以访问成功,如果referer错误那么访问不成功

blocked,检测 Referer 头域的值被防火墙或者代理服务器删除或伪装的情况。这种情况该头域的值不以 “http://” 或 “https://” 开头。

server_names ,设置一个或多个 URL ,检测 Referer 头域的值是否是这些 URL 中的某一个。

使用eurl

安装url

 yum install -y curl

使用url测试

curl -I http://192.168.44.101/img/logo.png

带引用

curl -e "http://baidu.com" -I http://192.168.44.101/img/logo.png

防盗链-返回指定页面/图片

①返回指定错误页面-403.html

方法一:return 错误码

 效果:

 方法二:使用rewrite,是所有地址全部映射到403.html   。break的意思类似于switch..case..中的break

 ②直接显示图片

使用正则匹配

效果:

 Keepalive

master配置:

 启动

systemctl start keepalived.service

查看状态

systemctl status keepalived.service

 查看虚拟ip

 

备用机keepalived配置

查看虚拟ip

 测试keepalived 中的ip漂移

此我们去ping这个虚拟ip

 然后突然把主机关闭

那么备用机就会开启

然后我们再在备用机中使用ip addr 查看虚拟ip,成功!

HTTP

非对称加密

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值