여러 URL에 다양한 리소스를 제공하도록 nginx를 구성하는 방법

여러 URL에 다양한 리소스를 제공하도록 nginx를 구성하는 방법

Nginx를 사용하여 여러 도메인을 설정하는 방법을 보여주는 몇 가지 예를 접했지만 내 URL은 웹 페이지의 도메인과 다른 리소스를 제공합니다.

이러한 시나리오 간에 구성 요구 사항에 차이가 있습니까?

답변1

Nginx에는 각 도메인에 대한 구성이 있습니다. 제가 제안한 대로 기본 구성을 복사하고 예를 들어 도메인의 매개변수(서버 블록)를 변경합니다.

sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/yourdomain.com

이제 새 구성을 열고 매개변수를 설정하세요.

server {
 listen 80 default_server;
 listen [::]:80 default_server ipv6only=on; root /usr/share/nginx/html;
 index index.html index.htm; 
server_name localhost;
 location / { try_files $uri $uri/ =404; 
} 
}

Root is your directory
root /var/www/yourdomain.com/html;

Each statement need end with ;

Servername is your domain name
server_name your domain.com www.yourdomain.com;

마지막으로 서버 블록 링크를 구성하고 nginx를 다시 시작해야 합니다.

sudo ln -s /etc/nginx/sites-available/yourdomain.com /etc/nginx/sites-enabled/ sudo ln -s /etc/nginx/sites-available/secounddomain.com /etc/nginx/sites-enabled/

간단히 심볼릭 링크를 제거하여 기본 서버 블록 파일을 비활성화할 수 있습니다. 참조용으로 사이트 사용 가능 디렉터리에서 여전히 사용할 수 있지만 Nginx는 시작 시 이를 읽지 않습니다.

sudo rm /etc/nginx/sites-enabled/default 

또한 기본 Nginx 구성 파일의 설정을 빠르게 조정해야 합니다. 열려면 다음 명령을 입력하십시오.

sudo nano /etc/nginx/nginx.conf 

한 줄의 주석을 해제하면 됩니다. 이 댓글을 찾아 삭제하세요.

server_names_hash_bucket_size 64; 

이제 Nginx를 다시 시작하여 변경 사항을 활성화할 준비가 되었습니다. 다음을 입력하여 이 작업을 수행할 수 있습니다.

sudo service nginx restart

마지막으로 운영 체제에서 호스트 이름을 설정해야 합니다.

sudo nano /etc/hosts
127.0.0.1 localhost 
127.0.0.1 guest-desktop 
111.111.111.111 yourdomain.com
 111.111.111.111 secounddomain.com

브라우저에서 도메인 이름을 테스트하세요. http://yourdomain.com 문제가 발생하면 nginx 로그를 확인하고 오류 또는 시작 로그를 보내십시오.

관련 정보