听说你现在还没找到工作?看看这些你都掌握了没?nginx了解一下
一起怀着希望,拥抱暖意,不负春光,不负梦想。愿春回大地时,万物更新、硝烟皆逝。下面是针对Nginx面试的专栏,大家有补充的可在下方进行评论哦~
小何面试官:你好,欢迎来到我们公司面试,我直接进入主题吧。
小何面试官:你对Nginx有什么理解呢?
小M:嗯,Nginx (engine x) 是一个高性能的HTTP和方向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。
其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2011年6月1日,Nginx1.0.4发布
小何面试官:好的,那你先谈谈你了解到的Nginx自带支持的负载均衡法则
小M:
1、轮询法
根据ip进行轮询访问
upstream localhost{
server ip:port;
server ip:port;
server ip:port;
}
2、加权轮询法(weight)
根据已知服务器的负载能力设置权重值
upstream localhost{
server ip:port weight=10;
server ip:port weight=8;
}
3、最小连接数法(least_conn)
由于服务器处理问题的快慢不一样
根据服务器的连接情况,访问连接最少的服务器
降低服务器的压力
upstream localhost{
least_conn;
server ip:port weight=1;
server ip:port weight=1
}
4、源地址哈希法( ip_hash)
根据获取到客户端的ip,通过哈希函数计算得到一个数值,
用该数值对服务器的列表的大小进行取模计算
得到的结果便是客户端要访问的服务端序号
(在ip和列表不变的情况下,可以解决集群模式下,session的共用问题)
upstream localhost{
ip_hash;
server ip:port weight=1;
server ip:port weight=1;
}
小何面试官:说了这些都是Nginx自带的,还有那种通过配置插件可以实现的负载均衡你了解过吗?
小M:
1、fair插件
根据服务器处理的时间和页面的加载速度,智能寻找压力最小的服务器进行访问,必须安装upstream_fair插件
upstream localhost{
fair;
server ip:port weight=1;
server ip:port weight=1;
}
2、url_hash
(根据访问的url进行的哈希函数结果来分配请求,
可以使每个URL定向到一台后端服务器上,选装nginx的hash软件包)
upstream localhost{
url_hash;
server ip:port weight=1;
server ip:port weight=1;
}
小何面试官:嗯嗯,挺好的,你再说说Nginx怎样来配置动静分离服务器
小M:配置nginx.conf文件
在server中加入
location ~ .*\.(html|htm|gif|jpg|jpeg|bmp|png|ico|txt|js|css)$
{
root /静态文件的地址/;
expires 30d; #配置缓存有效时间
}
小何面试官:好,你对Nginx安全配置方式了解多少呢?
小M:
1、通过版本控制安全:隐藏版本号
http{
server_tokens off;
}
2、连接安全:通过配置https协议的服务器
https开启后可进行安全证书的认证
3、ip安全:设置白名单和黑名单 白名单设置:allow允许,deny禁止
location /{
allow ip;
deny all;
}
黑名单设置
location /{
deny ip;
allow all;
}
3、文件安全
访问目录
location /logs{
autoindex on;
root /文件地址/;
}
将内容展示出来
location ^/logs~*\.(log|txt)${
add_header Content-Typetext/plain;
root /文件地址/;
}
正赶这银四的招聘季
祝愿大家都能找到心仪的工作
扫码关注公众号有惊喜哦~~~