什么是Nginx?有哪些核心技术? 什么是nginx? nginx是一个开源可靠的HTTP中间件代理服务。 配置目录 主配置文件 /etc/nginx/nginx.conf配置文件基本结构:
nginx 开启,关闭,重启 开启 systemctl start nginx关闭 nginx \-s stop重启,nginx \-s reload (这个一般是在修改配置文件后,先用nginx \-t 检查配置语法是否正确后,再用nginx \-s reload 平滑重启) 日志文件 /var/log/nginx 发生错误的时候查找方法 最重要的就是错误日志,错误日志,错误日志,当发生错误的时候,首先第一要想到去查看错误日志,查看发生错误的原因。1,首先查看错误日志 tail -n 10 /var/log/nginx/error.log2,找到错误原因,修改配置文件 /etc/nginx/conf.d/default.conf3,查看修改的错误命令是否争取 nginx -t4,平滑重启 nginx -s reload server_name 优先级 1,当在多个serve中匹配了相同的server_name 最先出现的优先级是最高的。 location location 匹配规则 = 表示精确匹配。只有请求的url路径与后面的字符串完全相等时,才会命中。~ 表示该规则是使用正则定义的,区分大小写。~* 表示该规则是使用正则定义的,不区分大小写。^~ 表示如果该符号后面的字符是最佳匹配,采用该规则,不再进行后续的查找。匹配顺序如果匹配到 = , 也就是精确匹配到url,则返回如果匹配到^~,则返回,并且不会向下匹配。这里我曾经遇到过在同一服务器上同时部署两个react单页项目的时候,一个react A 项目放在/home目录下,一个react B项目放在/codsse目录下,因为写了如下规则 导致当url是/codesse/的时候,可以匹配到B项目的index.html,但是同时在B中index.html中的js也匹配到了B项目的index.html,所以导致形成了一个死循环。接下来匹配正则表达式的,~ 或者~*的,如果匹配到则返回最后都没匹配到,则返回最大匹配的或者404= > ^~ > ~/~* 优先级 try_files try_files 试图寻找的文件 alias与root的区别 root会把匹配到location连在一起去访问 比如有以下配置 当访问 xx/cat/a.png的时候,实际上是到 /cat/imgs/cat/a.png中去寻找 当alias是/cat/imgs 的时候,同样的网址,实际上到/cat/imgs/a.png中去寻找 nginx 的访问控制 http_access_module deny 拒绝访问allow 可以访问 作为静态资源服务器 压缩静态资源 1, gzip:ongzip\_comp\_level: 2 \(压缩级别\) 设置过期时间 一般浏览器首先会检查max-age,如果过期,则会发送etag和Last-Modified到服务器验证 1, 设置过期时间expires 正向代理和反向代理 正向代理? 正向代理就是代理客户端发起请求,比如我们经常使用的vpn 反向代理? 就是在服务器端进行代理,比如你访问一个域名,并不知道真正的实际资源是否通过nginx给代理到哪里去了。 跨域访问 设置可以nginx允许可以跨域访问 负载均衡 所谓的负载均衡其实就是通过nginx把请求转发到不同的服务器上面去。每个服务可以配置一些参数,比如weight权重,比如max_fails等 负载均衡也可以选择不同的算法,比如轮询,比如ip—hash算法和url—hash算法等 nginx 作为缓存服务器 nginx 作为中间缓存,使用proxy\_cache\_path nginx 重定向url 可以通过rewrite 根据正则匹配,把匹配到的url重定向到别的url中去 rewrite 语法 rewrite 正则 flagflag 包括break,last,redirect,permanent break会直接去查找而last相当于会继续向下匹配rediect 临时重定向permanent 永久重定向 rewrite 优先级 sever 中的rewrite规则 > location 中的rewrite规则 nginx 连接周期限制 使用模块 secure\_link\_module 原理就是首先nginx根据一些信息返回下载链接包括md5和expries,然后下载的时候,nginx在进行验证md5和过期时间。返回链接如下:/download\?mad5=dsdsd\&expries=112233222 nginx 区分国内外ip 使用模块 http\_geoip\_module 可以根据访问的ip是否是国内ip,来进行限制访问 nginx https https 配置 安装openssl http\_ssl\_module生成CA证书配置 https 服务优化 激活keepalive 长链接激活ssl cache 缓存 nginx+ Lua Lua 基础语法 ~= 表示不等于字符串拼接 .. 根据ip进行不同内容的访问 基本原理:当用户访问的时候,nginx 获得用户的ip,然后通过lua去访问ip数据库,然后让不同的ip访问不同的内容。 nginx 性能优化 ab接口压力测试工具 ab \-n 2000 \-c 2 <http://127.0.0.1> cpu亲和 设置worker process 为cpu核数 nginx 安全 常见的攻击手段 1 密码撞库2 文件上传漏洞3 sql 注入 如果觉得本文对你有帮助,可以点赞支持一下,也可以点进我主页我,上面有更多技术干货文章以及相关资料共享,大家一起学习进步!
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/73228.html