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 로그를 확인하고 오류 또는 시작 로그를 보내십시오.