nginx 범 분석 도 메 인 이름 은 다단 계 도 메 인 이름 여러 개 를 동시에 연결 합 니 다.

2942 단어
nginx 범 도 메 인 네 임 을 이용 하여 2 급 도 메 인 네 임 과 다 중 도 메 인 네 임 을 분석 하고 2 급 도 메 인 네 임 서브 스테이션, 사용자 개성 독립 서브 도 메 인 네 임 을 실현 합 니 다.
주로 사용자 가 독립 된 하위 도 메 인 이름 을 사용 하 는 경우 설정 에서 사용자 도 메 인 이름 으로 쓸 수 없 기 때문에 nginx 범 분석 방식 이 필요 합 니 다.
설정 방법:
server_name  ~^(?<subdomain>.+)\.yourdomain\.com$;

subdomain 과 일치 하면 됩 니 다.아래 에 있 는 것 은 $subdomain 이라는 변 수 를 통 해 현재 하위 도 메 인 이름 을 가 져 올 수 있 습 니 다.
상황 1: 하위 도 메 인 이름 을 통합 디 렉 터 리 에 연결 하여 사용자 개성 도 메 인 이름 으로 합 니 다.
이 경우 직접 일치 하면 됩 니 다. 디 렉 터 리 는 같은 곳 을 가리 키 는 (일반) 입 니 다.
설정 인 스 턴 스:
server {
    listen   80;
    server_name yourdomain.com www.yourdomain.cpm ~^(?<subdomain>.+)\.m\.yourdomain\.com$;
    index index.php index.html index.htm;
    set $root_path '/var/www/yanue.net';
    root $root_path;
    try_files $uri $uri/ @rewrite;
    location @rewrite {
        rewrite ^/(.*)$ /index.php?_url=/$1;
    }
    location ~ \.php {
            fastcgi_pass   127.0.0.1:9000;
    }
    location ~* ^/(css|img|js|flv|swf|download)/(.+)$ {
        root $root_path;
    }
    location ~ /\.ht {
        deny all;
    }
}

이렇게 하면 실현 할 수 있다.
user. m. yourdomain. com 사용자 자신의 페이지 로 이동
물론 논 리 를 뛰 어 넘 으 려 면 스스로 프로그램 에서 이 루어 져 야 한다.
상황 2: 하위 도 메 인 이름 을 다른 디 렉 터 리 로 연결 (하위 역)
사이트 의 디 렉 터 리 구 조 는?
html
├── bbs
└── www
html 는 nginx 의 설치 디 렉 터 리 에 기본 소스 코드 를 저장 하 는 경로 입 니 다.
bbs 포럼 소스 코드 경로
www 홈 페이지 소스 코드 경로
해당 프로그램 을 위 에 올 려 놓 은 경 로 를 통과 합 니 다.
http://www.youdomain.com 홈 페이지
http://bbs.yourdomain.com 포럼
기타 2 급 도 메 인 이름 유추.
설정 인 스 턴 스:
server {
        listen       80;
        server_name  ~^(?<subdomain>.+)\.yourdomain\.com$;
        root   html/$subdomain; 
        index  index.html index.htm index.php;
        fastcgi_intercept_errors on;
        error_page  404      = /404.html;
        location / {
                # This is cool because no php is touched for static content.
                # include the "?$args" part so non-default permalinks doesn't
                # break when using query string
                try_files $uri $uri/ =404;
       }
        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        location ~ \.php$ {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            fastcgi_param  domain $subdomain;
            include        fastcgi_params;
        }
        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        location ~ /\.ht {
            deny  all;
        }
    }

좋은 웹페이지 즐겨찾기