>운영 및 유지보수 >엔진스 >여러 웹 사이트를 위해 Nginx에서 가상 호스트를 어떻게 만들려면?

여러 웹 사이트를 위해 Nginx에서 가상 호스트를 어떻게 만들려면?

百草
百草원래의
2025-03-14 16:15:28812검색

여러 웹 사이트를 위해 Nginx에서 가상 호스트를 어떻게 만들려면?

여러 웹 사이트를 호스팅하기 위해 Nginx에서 가상 호스트를 만들려면 서버 블록을 설정해야합니다. 서버 블록은 Nginx의 Apache의 가상 호스트와 동등하여 단일 서버에서 여러 웹 사이트를 호스팅 할 수 있습니다. 다음은 다음과 같은 방법입니다.

  1. 구성 요소 백업 : 잠재적 인 문제를 피하려면 항상 현재 NGINX 구성을 백업하여 시작하십시오.
  2. 서버 블록 파일 만들기 : 호스팅하려는 각 웹 사이트에 대해 일반적으로 /etc/nginx/sites-available/ 내에서 새 서버 블록 파일을 만듭니다. 예를 들어, example.com 호스팅하려면 example.com.conf 라는 파일을 만들 수 있습니다.

     <code class="nginx">server { listen 80; listen [::]:80; server_name example.com www.example.com; root /var/www/example.com; index index.html index.htm index.nginx-debian.html; location / { try_files $uri $uri/ =404; } }</code>
  3. 서버 블록 활성화 : 새 서버 블록을 활성화하려면 /etc/nginx/sites-available/example.com.conf 에서 /etc/nginx/sites-enabled/ 에서 상징적 링크를 만듭니다.

     <code class="bash">sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/</code>
  4. 테스트 및 새로 고침 NGINX : 변경 사항을 적용하기 전에 구성을 테스트하여 구문 오류가 없는지 확인하십시오.

     <code class="bash">sudo nginx -t</code>

    테스트가 통과되면 Nginx를 다시로드하여 새 구성을 적용하십시오.

     <code class="bash">sudo systemctl reload nginx</code>

단일 서버에서 여러 웹 사이트를 호스팅하기 위해 Nginx를 구성하는 프로세스는 무엇입니까?

단일 서버에서 여러 웹 사이트를 호스팅하도록 Nginx를 구성하는 프로세스에는 각 웹 사이트의 서버 블록을 생성하고 효율적으로 관리해야합니다. 자세한 단계별 프로세스는 다음과 같습니다.

  1. nginx 설치 : 서버에 nginx가 설치되어 있는지 확인하십시오. Ubuntu에서는 다음을 사용하여 설치할 수 있습니다.

     <code class="bash">sudo apt-get update sudo apt-get install nginx</code>
  2. 서버 블록 구성 만들기 : 각 웹 사이트의 경우 /etc/nginx/sites-available/ 에서 구성 파일을 만듭니다. 이전 답변에 제공된 템플릿을 사용하고 각 웹 사이트에 필요에 따라 사용자 정의하십시오.
  3. 문서 루트 설정 : 각 웹 사이트 파일 (예 : /var/www/example.com )에 대한 디렉토리를 만들고 파일이 이러한 디렉토리에 배치되어 있는지 확인하십시오.
  4. 서버 블록 활성화 : 이전 답변에 설명 된대로 사이트에서 sites-available 디렉토리에서 각 서버 블록에 대한 sites-enabled 디렉토리로 상징적 링크를 만듭니다.
  5. DNS 구성 : 각 도메인의 DNS 레코드가 서버의 IP 주소를 가리 키십시오.
  6. SSL 인증서 설정 (선택 사항) : HTTPS의 경우 SSL 인증서를 설정하고 SSL 구성을 포함하도록 서버 블록을 업데이트하십시오.

     <code class="nginx">listen 443 ssl; ssl_certificate /etc/ssl/certs/example.com.crt; ssl_certificate_key /etc/ssl/private/example.com.key;</code>
  7. 변경 사항을 테스트하고 적용하십시오 : 항상 nginx -t 로 구성을 테스트하고 systemctl reload nginx .

단일 NGINX 설치를 사용하여 다른 도메인을 제공 할 수 있습니까? 그렇다면 어떻게해야합니까?

예, 단일 NGINX 설치를 사용하여 다른 도메인을 제공 할 수 있습니다. 이는 각각 다른 도메인에 해당하는 여러 서버 블록을 구성하여 수행됩니다. 이를 달성 할 수있는 방법은 다음과 같습니다.

  1. 별도의 서버 블록 생성 : 각 도메인의 경우 /etc/nginx/sites-available/ 에서 별도의 서버 블록 파일을 만듭니다.
  2. 도메인별로 서버 블록을 구별하십시오 . server_name 지시문을 사용하여 서버 블록이 응답 할 도메인을 지정하십시오. 예를 들어:

     <code class="nginx">server { listen 80; server_name domain1.com www.domain1.com; root /var/www/domain1.com; index index.html; location / { try_files $uri $uri/ =404; } } server { listen 80; server_name domain2.com www.domain2.com; root /var/www/domain2.com; index index.html; location / { try_files $uri $uri/ =404; } }</code>
  3. 활성화 및 테스트 : 기호 링크를 작성하여 이러한 서버 블록을 활성화하고 구성을 테스트하며 NGINX를 다시로드하여 변경 사항을 적용합니다.

최적의 성능을 위해 Nginx에서 가상 호스트 구성을 관리하고 문제를 해결하려면 어떻게해야합니까?

Nginx에서 가상 호스트 구성 관리 및 문제 해결에는 몇 가지 모범 사례와 도구가 포함됩니다. 성능을 최적화하고 문제를 해결하는 방법은 다음과 같습니다.

  1. 로깅 : Nginx의 액세스 및 오류 로그를 사용하여 문제를 모니터링하고 문제 해결하십시오. 액세스 로그는 요청을 추적하는 데 도움이 될 수 있으며 오류 로그는 구성 문제 또는 서버 오류를 식별하는 데 도움이 될 수 있습니다.

     <code class="nginx">access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log;</code>
  2. 구성 테스트 구성 : nginx -t 사용하여 NGINX 구성을 정기적으로 테스트하여 NGINX를 다시로드하거나 다시 시작하기 전에 구문 오류를 포착합니다.
  3. 성능 최적화 :

    • GZIP 압축 활성화 : 파일을 압축하여 대역폭 사용을 줄입니다.

       <code class="nginx">gzip on; gzip_types text/plain application/xml application/json;</code>
    • 캐싱 설정 : Nginx 캐싱을 사용하여 서버로드를 줄이고 응답 시간을 개선하십시오.

       <code class="nginx">proxy_cache_path /etc/nginx/cache keys_zone=my_cache:10m; server { ... location / { proxy_pass http://backend; proxy_cache my_cache; proxy_cache_valid 200 1d; } }</code>
    • 서버 설정 최적화 : 서버 리소스를 최적화하기 위해 작업자 프로세스 및 연결을 조정하십시오.

       <code class="nginx">worker_processes auto; events { worker_connections 1024; }</code>
  4. 문제 해결 :

    • 로그 확인 : 로그를 검토하여 오류 또는 비정상적인 패턴을 식별하십시오.
    • curl 또는 브라우저 개발자 도구를 사용하십시오 : 웹 사이트 기능을 테스트하고로드 시간을 측정하십시오.
    • Nginx 상태 페이지 : 실시간으로 Nginx 성능을 모니터링하기위한 상태 페이지를 설정하십시오.

       <code class="nginx">location /nginx_status { stub_status on; access_log off; allow 127.0.0.1; deny all; }</code>

이러한 관행을 따르면 단일 서버에서 여러 웹 사이트를 호스팅하기 위해 NGINX 구성을 효과적으로 관리, 최적화 및 문제 해결할 수 있습니다.

위 내용은 여러 웹 사이트를 위해 Nginx에서 가상 호스트를 어떻게 만들려면?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.