Nginx - echo 모듈 추가

2974 단어 nginx모듈ehco
1, Nginx 의 echo 모듈 소개
echo 모듈 은 내 국 인 이 작성 한 nginx 의 제3자 모듈 입 니 다. 공식 nginx 를 다운로드 한 후에 echo 모듈 을 다운로드 하고 nginx 컴 파일 에 맞 춰 설치 해 야 합 니 다. 이 모듈 을 설치 하면 nginx 의 url 방문 에서 echo 명령 을 통 해 문 자 를 사용자 의 브 라 우 저 에 출력 할 수 있 습 니 다. nginx 의 접근 성 을 검사 하고 nginx 설정 의 정확성 을 검사 할 수 있 습 니 다.한 마디 로 디 버 깅 설정 nginx 부분 에서 echo 명령 은 매우 유용 합 니 다.
2, echo 모듈 원본 패키지 다운로드:
# cd /usr/local/src/
# wget https://codeload.github.com/openresty/echo-nginx-module/tar.gz/v0.58  
# tar xvzf v0.58
# ls
  echo-nginx-module-0.58

3. Nginx 가 현재 컴 파일 한 인 자 를 봅 니 다.
# /opt/nginx/sbin/nginx -V
nginx version: nginx/1.8.1
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-16) (GCC) 
built with OpenSSL 1.0.1c 10 May 2012
TLS SNI support enabled
configure arguments: --prefix=/opt/nginx --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.37 --with-zlib=/usr/local/src/zlib-1.2.8 --with-openssl=/usr/local/src/openssl-1.0.1c --add-module=/usr/local/src/echo-nginx-module-0.58

4, 새로운 컴 파일 nginx 에서 echo 모듈 추가:
# ./configure --prefix=/opt/nginx --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.37 --with-zlib=/usr/local/src/zlib-1.2.8 --with-openssl=/usr/local/src/openssl-1.0.1c --add-module=/usr/local/src/echo-nginx-module-0.58
#make

주의: 제발 make install 을 하지 마 세 요. 그렇지 않 으 면 nginx 를 덮어 쓸 것 입 니 다.
5. 실행 가능 한 파일 nginx 를 복사 하여 현재 nginx 실행 가능 한 파일 을 덮어 씁 니 다.
# /etc/init.d/nginx stop
# cp objs/nginx /opt/nginx/sbin/
# /etc/init.d/nginx start

6, 인증:
# cat nginx.conf
#user  nobody;
worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    #include       conf.d/vhost.conf;
    default_type  application/octet-stream;
    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"'; 
    #access_log  logs/access.log  main;
    sendfile        on;
    tcp_nopush     on;
    keepalive_timeout  65;
    gzip  on;  
    server
    {
    listen 80;
    server_name 127.0.0.1;
    location / {
    echo "123";
    }
    access_log logs/tomcat1_access.log;
    }
}

접근 인증:
# curl 127.0.0.1
123

7, 주의:
1. echo 명령 은 url 요청 에 만 놓 을 수 있 습 니 다. url 요청 외 에 놓 으 면 오류 가 발생 합 니 다. [emerg]: "echo" directive is not allowed here in ,echo 가 놓 인 위 치 를 확인 하 세 요.
2. url 요청 시 echo 는 한 줄 만 인쇄 할 수 있 습 니 다. 논리 적 판단 이 있 고 판단 이 성공 하면 echo 는 성공 을 판단 하 는 echo 를 실행 합 니 다. 그렇지 않 으 면 마지막 echo 를 실행 합 니 다. (여기 가 정확 하지 않 습 니 다. 테스트 에서 이 현상 을 발견 합 니 다)
3. echo 뒤에 return 을 설정 하거나 proxy 를 설정 하면pass, echo 의 출력 이 덮어 집 니 다. 즉, 브 라 우 저 에서 echo 의 내용 을 볼 수 없습니다.
4. echo 의 내용 은 nginx 설정 파일 에 쓰 여 있 는 것 이 아니 라 브 라 우 저 에 출력 되 어 있 습 니 다. 따라서 echo 의 인쇄 문 자 를 보 려 면 브 라 우 저 에서 보 세 요.

좋은 웹페이지 즐겨찾기