nginx 설정 기록

7601 단어
설치 하 다.
yum 방식 으로 설 치 된 nginx
[root@iz2ze4xftejz1z6zi0l21zz nginx]# nginx -v
nginx version: nginx/1.12.2

nginx 서비스 시작
[root@iz2ze4xftejz1z6zi0l21zz conf.d]# service nginx start
Redirecting to /bin/systemctl start  nginx.service

시스템 이 7.0 이상 이기 때문에 service nginx start 명령 을 systemctl start nginx.service 로 재 설정 하 는 것 을 알려 주 고 실제 사용 에 영향 을 주지 않 습 니 다.
[root@iz2ze4xftejz1z6zi0l21zz nginx]# lsb_release -a
LSB Version:    :core-4.1-amd64:core-4.1-noarch
Distributor ID: CentOS
Description:    CentOS Linux release 7.2.1511 (Core)
Release:    7.2.1511
Codename:   Core

메모: 아 리 클 라 우 드 서버 는 (더 많은 - 보안 그룹 설정 - 설정 규칙 - 보안 그룹 규칙 추가) 80 포트 에 서버 주소 에 해당 하 는 방문 을 개방 하면 nginx 환영 페이지 를 시작 할 수 있 습 니 다.
설정 예제
필자 의 이쪽 은 시스템 으로 설치 되 어 있 고 파일 은 /etc/nginx/nginx.conf 에 있다.
#   Nginx Worker           
user  www www;
#    2 vCPU 8 GB (I/O  )
worker_processes  2; 

error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#      id       
pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    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  0;
    keepalive_timeout  65;

    #gzip  on;

    server {
        listen       80;
        server_name  localhost 47.93.63.199 www.vipcmon.com;

        #charset koi8-r;

        access_log  logs/host.access.log  main;

        location / {
            root   /home/hanzhen01/node/vue2-mon/manage;
            index  index.html index.htm;
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        #location ~ \.php$ {
        #    root           html;
        #    fastcgi_pass   127.0.0.1:9000;
        #    fastcgi_index  index.php;
        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        #    include        fastcgi_params;
        #}

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\.ht {
        #    deny  all;
        #}
    }


    # another virtual host using mix of IP-, name-, and port-based configuration
    #
    #server {
    #    listen       8000;
    #    listen       somename:8080;
    #    server_name  somename  alias  another.alias;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}


    # HTTPS server
    #
    #server {
    #    listen       443 ssl;
    #    server_name  localhost;

    #    ssl_certificate      cert.pem;
    #    ssl_certificate_key  cert.key;

    #    ssl_session_cache    shared:SSL:1m;
    #    ssl_session_timeout  5m;

    #    ssl_ciphers  HIGH:!aNULL:!MD5;
    #    ssl_prefer_server_ciphers  on;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}

}

상용 명령 어 설명
nginx 서버 설치 및 프로필 상세 참조
설정 설명
Nginx 의 설정 시스템 은 주 프로필 과 다른 보조 프로필 로 구성 되 어 있 습 니 다.이 프로필 들 은 모두 순수한 텍스트 파일 로 Nginx 설치 디 렉 터 리 에 있 는 conf 디 렉 터 리 에 있 습 니 다.
Nginx 프로필 은 주로 main (전역 설정), server (호스트 설정), upstream (상류 서버 설정, 주로 역방향 프 록 시, 부하 균형 관련 설정) 과 location (URL 이 특정 위치 에 일치 하 는 설정) 으로 나 뉘 는데 각 부분 에는 몇 개의 명령 이 포함 되 어 있 습 니 다.main 부분 에서 설정 한 명령 은 다른 모든 부분의 설정 에 영향 을 줄 것 입 니 다.server 부분의 명령 은 주로 가상 호스트 도 메 인 이름, IP 와 포트 를 지정 하 는 데 사 용 됩 니 다.upstream 의 명령 은 일련의 백 엔 드 서버 를 설정 하고 역방향 프 록 시 와 백 엔 드 서버 의 부하 균형 을 설정 하 는 데 사 용 됩 니 다.location 부분 은 웹 페이지 위치 와 일치 합 니 다 (예 를 들 어 루트 디 렉 터 리 "/" / images "등).그들 간 의 관계 식: server 계승 main, location 계승 server;upstream 은 명령 을 계승 하지 도 않 고 계승 되 지도 않 습 니 다.그것 은 다른 곳 에서 의 응용 이 필요 없 이 자신 만 의 특수 명령 이 있다.
nginx. conf 의 설정 정 보 는 논리 적 의미 에 따라 분류 되 었 습 니 다. 즉, 여러 개의 역할 영역 으로 나 뉘 거나 설정 명령 컨 텍스트 라 고 부 릅 니 다.서로 다른 역할 영역 에는 하나 이상 의 설정 항목 이 포함 되 어 있 습 니 다.
현재 Nginx 가 지원 하 는 명령 어 컨 텍스트:
  • main: Nginx 가 실 행 될 때 구체 적 인 업무 기능 (예 를 들 어 http 서비스 나 email 서비스 대리) 과 무관 한 일부 매개 변수, 예 를 들 어 작업 프로 세 스 수, 실 행 된 신분 등.
  • http: http 서비스 제공 과 관련 된 설정 매개 변수 입 니 다.예 를 들 어 keepalive 를 사용 할 지, gzip 을 사용 하여 압축 할 지 등 입 니 다.
  • server: http 서비스 에서 몇몇 가상 호스트 를 지원 합 니 다.모든 가상 호스트 에 대응 하 는 server 설정 항목 입 니 다. 설정 항목 에는 가상 호스트 와 관련 된 설정 이 포함 되 어 있 습 니 다.메 일 서 비 스 를 제공 하 는 프 록 시 에 도 여러 개의 server 를 만 들 수 있 으 며, 각 server 는 감청 주 소 를 통 해 구분 할 수 있 습 니 다.
  • location: http 서비스 에서 특정한 URL 에 대응 하 는 일련의 설정 항목 입 니 다.
  • mail: email 과 관련 된 SMTP / IMAP / POP 3 대 리 를 실현 할 때 공 유 된 일부 설정 항목 (여러 대 리 를 실현 할 수 있 기 때문에 여러 감청 주소 에서 작업 합 니 다).
  •     user  nobody;
        worker_processes  1;
        error_log  logs/error.log  info;
    
        events {
            worker_connections  1024;
        }
    
        http {  
            server {  
                listen          80;  
                server_name     www.linuxidc.com;  
                access_log      logs/linuxidc.access.log main;  
                location / {  
                    index index.html;  
                    root  /var/www/linuxidc.com/htdocs;  
                }  
            }  
    
            server {  
                listen          80;  
                server_name     www.Androidj.com;  
                access_log      logs/androidj.access.log main;  
                location / {  
                    index index.html;  
                    root  /var/www/androidj.com/htdocs;  
                }  
            }  
        }
    
        mail {
            auth_http  127.0.0.1:80/auth.php;
            pop3_capabilities  "TOP"  "USER";
            imap_capabilities  "IMAP4rev1"  "UIDPLUS";
    
            server {
                listen     110;
                protocol   pop3;
                proxy      on;
            }
            server {
                listen      25;
                protocol    smtp;
                proxy       on;
                smtp_auth   login plain;
                xclient     off;
            }
        }
    

    이 설정 에서 위 에서 언급 한 다섯 가지 설정 명령 의 상하 문 이 모두 존재 합 니 다.
    main 컨 텍스트 에 존재 하 는 설정 명령 은 다음 과 같 습 니 다.
  • user
  • worker_processes
  • error_log
  • events
  • http
  • mail

  • http 컨 텍스트 에 존재 하 는 명령 은 다음 과 같 습 니 다.
  • server

  • mail 컨 텍스트 에 존재 하 는 명령 은 다음 과 같 습 니 다.
  • server
  • auth_http
  • imap_capabilities

  • server 컨 텍스트 에 존재 하 는 설정 명령 은 다음 과 같 습 니 다.
  • listen
  • server_name
  • access_log
  • location
  • protocol
  • proxy
  • smtp_auth
  • xclient

  • location 컨 텍스트 에 존재 하 는 명령 은 다음 과 같 습 니 다.
  • index
  • root

  • 물론 여 기 는 예시 일 뿐이다.구체 적 으로 어떤 설정 명령 이 있 는 지, 그리고 이 설정 명령 이 어떤 문맥 에 나타 날 수 있 는 지, Nginx 의 사용 문 서 를 참고 해 야 합 니 다.
    참고:
    http://wiki.jikexueyuan.com/project/nginx/configuration-system.html https://www.zybuluo.com/phper/note/89391

    좋은 웹페이지 즐겨찾기