Nginx从入门到实践:基础知识篇

一. 调试环境确认

          四项确认

             1. 确认系统网络

ping www.baidu.com

             2.确认yum可用 

                  列出gcc源却yum是否可用  

yum list|grep gcc

             3.确认关闭iptables规则

iptables L //查看是否有iptabls规则

iptables F //如果有这个规则,则关闭

iptables -t nat -F  //这个规则也关闭掉

             4.确认停用selinux

getenforce  //查看selinux关闭状态

setenforce  //如果未关闭,则需要先关闭

 

          两项安装 

Nginx从入门到实践:基础知识篇

          一次初始化需要在服务器上新建如下目录

   Nginx从入门到实践:基础知识篇

Nginx从入门到实践:基础知识篇

 

二 .认识nginx中间件

Nginx从入门到实践:基础知识篇

中间件可以使网站的服务更具有层次,而Nginx是一个开源高性能,可靠的HTTP中间件,并提供代理服务。

 

三.为什么选择Nginx

    1)IO多路复用 epoll

               Nginx从入门到实践:基础知识篇

 IO多路复用其实就是要完成操作系统IO的请求,对于IO的请求,当一个IO流要进行对应文件处理的时候,先获取这组文件的描述符,当描述符

没有就绪的时候,它就一直等待,直到描述符就绪,就马上上报系统通知的请求,告诉应用程序,IO已经准备就绪,可以来操作了。这样多个描述符的I/O操作都能在一个线程内并发交替地顺序完成,这里的”复用“指的是复用同一个线程

    IO多路复用的实现方式 select ,poll,epoll

Nginx从入门到实践:基础知识篇

select模型采用线性遍历的方式,不断遍历文件描述符应用队列的内容,效率低下,且能够监视文件描述符的数量存在最大限制 1024个。而epoll模型是每当FD就绪,就采用系统的回调函数将FD放入,效率更高,且没有最大连接限制。

   Nginx就是采用epoll模型来实现其最高处理文件的效率

2)Nginx功能模块少,代码模块化

3)Nginx和CPU亲和,把CPU的核心和Nginx的工作进程进行绑定,把每个worker进程固定在

一个CPU上执行,减少切换CPU 的 cache miss,获得更好的性能。

4)采用sendfile机制

Nginx从入门到实践:基础知识篇

把所有文件的传输只通过内核空间传递给socket,而不需要再走一遍用户空间

 

四.  Nginx快速搭建与基本参数使用

   1)通过yum源安装

     把官网的yum源复制到服务器nginx 的yum源配置文件中

yum list |grep nginx   //列出nginx

    

yum install nginx

  

nginx -v //查看nginx编译版本

 

 

nginx -V //查看ngixn编译参数

 

   2)nginx 安装目录

          

rpm -ql nginx  //查看nginx安装目录

 

Nginx从入门到实践:基础知识篇

 

Nginx从入门到实践:基础知识篇

nginx.conf 是nginx的主要配置文件  default.conf 是默认会进行server加载的配置文件

Nginx从入门到实践:基础知识篇

Nginx从入门到实践:基础知识篇

Nginx从入门到实践:基础知识篇

Nginx从入门到实践:基础知识篇

Nginx从入门到实践:基础知识篇

Nginx从入门到实践:基础知识篇

Nginx从入门到实践:基础知识篇

Nginx从入门到实践:基础知识篇

Nginx从入门到实践:基础知识篇

   3)安装编译参数

Nginx从入门到实践:基础知识篇

Nginx从入门到实践:基础知识篇

Nginx从入门到实践:基础知识篇

Nginx从入门到实践:基础知识篇

Nginx从入门到实践:基础知识篇

 

五, Nginx相关配置

    1.HTTP请求

     Nginx从入门到实践:基础知识篇

 

测试 

curl -v http://www.imooc.com > /dev/null   

或者通过浏览器查看

 

2.Nginx日志类型

Nginx从入门到实践:基础知识篇

3.Nginx变量

Nginx从入门到实践:基础知识篇

 4.sub_status

 5.默认模块讲解

 

Nginx从入门到实践:基础知识篇

 

Nginx从入门到实践:基础知识篇

       6.sub_module 模块   指定字符串的请求替换

       7.sub_module  模块演示

   8.Nginx请求限制

Nginx从入门到实践:基础知识篇

 

Nginx从入门到实践:基础知识篇

Nginx从入门到实践:基础知识篇

Nginx从入门到实践:基础知识篇

Nginx从入门到实践:基础知识篇

9.Nginx的访问控制

 

Nginx从入门到实践:基础知识篇

 

Nginx从入门到实践:基础知识篇

 

Nginx从入门到实践:基础知识篇

  这里include 表示 /etc/nginx/conf.d/下的所有  .conf 文件都会被 nginx主文件读到

  

   nginx检测配置语法是否成功

nginx -t -c /etc/nginx/nginx.conf

  nginx 重新加载主配置文件

nginx -s reload -c /etc/nginx/nginx.conf

 

访问控制可以在 http下面做,也可以在server里做,也可以在location里做 所影响的范围也不同,我们以location 为例子 做讲解 ,只会对一个location里的访问做限制

 

Nginx从入门到实践:基础知识篇

 

~ 符号是在访问路径里面做模式匹配,^/admin.html 意思是访问根目录下以admin开头的ht.ml,就让它加到目录里,allow 222.128.189.0/24 限制该ip的 0-24ip网段能访问, deny all 其它ip不能访问

Nginx从入门到实践:基础知识篇

 

IP1通过IP2 去访问IP3 的时候,我们实际上想限制IP1,但是限制的却是中间的代理IP2,所以他的准确性是不高的

 

 

Nginx从入门到实践:基础知识篇

解决方法:

Nginx从入门到实践:基础知识篇

记录整个ip通过代理访问的过程和地址,方式 Nginx从入门到实践:基础知识篇

 

身份认证

 

Nginx从入门到实践:基础知识篇

Nginx从入门到实践:基础知识篇

 

Nginx从入门到实践:基础知识篇