Nginx listen 명령 처리 연결 요청

5039 단어 Nginxnginx
명령 을 듣다
nginx 는 고성능 HTTP 서버 로 서 네트워크 의 처 리 는 그 핵심 이 고 네트워크 의 초기 화 를 이해 하 는 것 은 nginx 네트워크 처리 에 대한 이 해 를 강화 하 는 데 도움 이 된다.네트워크 와 관련 된 설정 명령 은 주로 두 가지 가 있 습 니 다: listen 과 severname。listen 명령 은 nginx 감청 주 소 를 설정 합 니 다. IP 프로 토 콜 에 대해 이 주 소 는 address 와 port 입 니 다. UNIX 도 메 인 소켓 프로 토 콜 에 대해 이 주 소 는 path 입 니 다. listen 명령 은 address 나 port 만 지정 할 수 있 고 address 도 호스트 이름 일 수 있 습 니 다.
Nginx 에 들 어 가 는 요청 은 처리 하기 전에 포트 를 감청 하여 Nginx 와 클 라 이언 트 가 TCP 연결 을 만 들 도록 해 야 합 니 다.감청 포트 의 명령 은 listen 이 라 고 하 는데 server 설정 에 놓 여 있 고 감청 포트 나 주 소 를 통 해 이 루어 집 니 다.
Syntax:	listen address[:port] [default_server] [ssl] [http2 | spdy] [proxy_protocol] [setfib=number] [fastopen=number] [backlog=number] [rcvbuf=size] [sndbuf=size] [accept_filter=filter] [deferred] [bind] [ipv6only=on|off] [reuseport] [so_keepalive=on|off|[keepidle]:[keepintvl]:[keepcnt]];

listen port [default_server] [ssl] [http2 | spdy] [proxy_protocol] [setfib=number] [fastopen=number] [backlog=number] [rcvbuf=size] [sndbuf=size] [accept_filter=filter] [deferred] [bind] [ipv6only=on|off] [reuseport] [so_keepalive=on|off|[keepidle]:[keepintvl]:[keepcnt]];

listen unix:path [default_server] [ssl] [http2 | spdy] [proxy_protocol] [backlog=number] [rcvbuf=size] [sndbuf=size] [accept_filter=filter] [deferred] [bind] [so_keepalive=on|off|[keepidle]:[keepintvl]:[keepcnt]];
Default:	
listen *:80 | *:8000;
Context:	server

 
Listen 문법 은 주로 세 가지 가 있 습 니 다.
첫 번 째 유형: 감청 주소 에 해당 하 는 포트 를 추가 합 니 다. nginx 가 있 는 기계 위 에 여러 개의 네트워크 카드 가 있 을 수 있 습 니 다. 내부 네트워크 카드 와 외부 네트워크 카드 를 포함 하여 주 소 를 선택 하여 server 블록 을 지정 하여 이 주소 로 연결 하 는 요청 만 처리 할 수 있 습 니 다.
두 번 째 유형: 포트 도 지정 할 수 있 습 니 다. 예 를 들 어 감청 80, 8080, 443 포트 등 이해 하기 쉽 습 니 다.
세 번 째 유형: 또는 유 닉 스 socket 주 소 를 감청 할 수도 있 습 니 다. 이것 은 이 컴퓨터 통신 에 만 사용 할 수 있 습 니 다.address 나 port 를 통 해 커 널 의 네트워크 스 택 을 가 려 고 합 니 다. 유 닉 스 path 는 필요 하지 않 기 때문에 로 컬 통신 성능 이 더욱 좋 습 니 다.
listen unix:/var/run/nginx.sock;   unix socket  
listen 127.0.0.1:8000;   nginx            +         


listen 127.0.0.1;     80  
listen 8000;    8000          
listen*:8000;

 
예 는 아래 와 같다.
[root@localhost ~]# ip a
2: ens32:  mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:33:e2:f0 brd ff:ff:ff:ff:ff:ff
    inet 192.168.179.101/24 brd 192.168.179.255 scope global ens32
       valid_lft forever preferred_lft forever
    inet6 fe80::eb42:2f23:95cb:44b6/64 scope link 
       valid_lft forever preferred_lft forever
3: ens34:  mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:33:e2:fa brd ff:ff:ff:ff:ff:ff
    inet 192.168.179.141/24 brd 192.168.179.255 scope global dynamic ens34
       valid_lft 1329sec preferred_lft 1329sec
    inet6 fe80::2c95:c457:14e:92ef/64 scope link 
       valid_lft forever preferred_lft forever

listen      8080;
[root@localhost ~]# netstat -tpln | grep 80
tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN      1452/nginx: master 

--------------------------------------------------------------------------------------
listen       *:8080;
[root@localhost ~]# /usr/local/nginx/sbin/nginx -s reload
[root@localhost ~]# netstat -tpln | grep 80
tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN      1452/nginx: master 

-------------------------------------------------------------------------------------
listen       127.0.0.1:8080;
[root@localhost ~]# /usr/local/nginx/sbin/nginx -s reload
[root@localhost ~]# netstat -tpln | grep 80
tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN      1452/nginx: master  


--------------------------------------------------------------------------------------
listen       8080;
[root@localhost ~]# /usr/local/nginx/sbin/nginx -s reload
[root@localhost ~]# netstat -tpln | grep 80
tcp        0      0 127.0.0.1:8080          0.0.0.0:*               LISTEN      1452/nginx: master  


--------------------------------------------------------------------------------------
listen      192.168.179.141:8080;
[root@localhost ~]# /usr/local/nginx/sbin/nginx -s reload
[root@localhost ~]# netstat -tpln | grep 80
tcp        0      0 192.168.179.141:8080    0.0.0.0:*               LISTEN      1452/nginx: master  

[root@localhost ~]# curl -I 192.168.179.101:8080
curl: (7) Failed connect to 192.168.179.101:8080; Connection refused

[root@localhost ~]# curl -I 192.168.179.141:8080
HTTP/1.1 200 OK
Server: nginx/1.16.1
Date: Thu, 20 Aug 2020 02:47:33 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Mon, 23 Mar 2020 12:32:23 GMT
Connection: keep-alive
ETag: "5e78ac57-264"
Accept-Ranges: bytes

----------------------------------------------------------------------------------------
listen     192.168.179.141;
[root@localhost ~]# /usr/local/nginx/sbin/nginx -s reload
[root@localhost ~]# netstat -tpln | grep 80
tcp        0      0 192.168.179.141:80      0.0.0.0:*               LISTEN      1452/nginx: master 

좋은 웹페이지 즐겨찾기