第四十二讲:listen指令的用法

  一个请求进入Nginx开始处理之前尼?

  我们首先要增添端口,以使得Nginx可以和客户端建立起一个TCP连接,那么监听端口的这个指令尼,叫listen;它是放在我们的server配置块下的;通过监听的端口或者地址;我们其实已经可以决定有哪些匹配上我们TCP四元簇的地址连接对应的server块的相关指令去处理相应的请求;

  下面我们来简单看下listen指令提供的简单功能;

  

 

 

   我们可以看到listen指令它的语法主要有三类:

  (1):监听一个地址加上相应的端口:listen address[:port]

    因为我们Nginx所在的机器上可能会有多块网卡,包括内网外网,那么这个时候尼,我可以通过选择地址,来确定我相应的server块指出以向这个地址建立连    接的请求;

  (2):也可以只指定端口:listen port

    这个比较好理解:比如说我们监听80 8080 443 端口;

  (3):也可以通过监听一个unix:path: listen unix:path

    也就是一个unix socket地址;这个只能应用于本机通讯;我们通过listen address[:port] 要走内核的完整的网络栈的,而listen unix:path是不需要的所以它的    性能应该会更好,

  而它的context只能出现在server这个配置块下,比如以下示例

  (1):listen unix:/var/run/nginx.sock            我们监听一个unix socket的地址;
  (2):listen 127.0.0.1:8000;                        监听一个地址加端口,因为我们nginx可能有多个地址
  (3):listen 127.0.0.1;                                 监听只指向一个地址,那么这个时候尼,  我们会默认使用80端口;       
  (4):listen 8000;                                        只监听了一个端口,但是并没有指明地址;
  (5):listen *:8000;                                      和第四种情况效果是一样的,什么情况下会不同尼?

  

    

 

  

posted @ 2020-03-14 13:48  痞子胥  阅读(1023)  评论(0)    收藏  举报