1) server_name 지시문은 주로 이름 기반 가상 호스트(http의 )를 구성하는 데 사용됩니다. > server inside ), 요청을 받은 후 server_name 지침의 일치 순서는 다음과 같습니다.
1 .정확한 server_name 일치(예:
server {
listen 80) ;
server_namessdr.info www.ssdr.info;
...
}
2. ~ *와일드카드로 시작하는 문자열:
server {
listen 80;
server_name*.ssdr.info;
...
}
3. with * 와일드카드로 끝나는 문자열:
server {
listen 80;
server_name www.*;
...
}
4.은 정규 표현식
서버{listen 80;server_name~^(?.+).howtocn.org$;...}
nginx는 를 1,2,3,4 servername이 일치합니다. 일치하는 항목이 하나만 있으면 검색이 중지됩니다.
2) 하나의 서버 블록 수준 도메인에서 하나의 사이트에 여러 서버를 구성합니다. name :
실제 웹사이트 디렉토리 구조에서는 일반적으로 사이트의 2차 도메인 이름에 대한 별도의 디렉토리를 생성하여 이를 달성할 수도 있습니다.server 블록에 여러 개의 2차 도메인 이름을 구성합니다. server
{
80;
서버 이름 ~^(.+)?.domain.com$;
index index.html;
if ($host = domain.com){
다시 작성 ^ http://www.domain.com 영구;
}
루트 /data/wwwsite/domain.com/
$1/; }
사이트의 디렉토리 구조는 다음과 같아야 합니다:
/data/wwwsite/domain.com/www/
/data/wwwsite/domain.com/nginx /
이렇게www.domain.com에 접속할 때 root 디렉터리는 /data/ wwwsite/domain.com/www/, nginx.domain.com은 /data/wwwsite /domain.com/nginx / 등. if
뒤의 기능은 domain.com www.domain.com으로 이동하면 웹사이트의 기본 디렉토리 접근 문제를 해결할 뿐만 아니라 seo도 추가됩니다. www.domain.com의 도메인 이름 가중치입니다. 3
) 여러 정규 표현식:
server_name에 있는 경우 은 일반 매칭을 사용하고, 다음 location 필드는 일반 매칭을 사용하므로 $1은 $2, 해결 방법은 set 명령을 통해 명명된 변수에 할당하는 것입니다. server {
듣기 80;
server_name ~^(.+)?.howtocn.org$;
set $www_root $1 ;
루트 /data/wwwsite/ssdr.info/$www_root/;
위치 ~ .*.php?$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME/data/wwwsite/ssdr.info/$fastcgi_script_name;
include fastcgi_params;
}
}
위 내용은 서버 및 nginx 측면을 포함하여 nginx의 server_name 구성을 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.