여러 웹 사이트를 호스팅하기 위해 Nginx에서 가상 호스트를 만들려면 서버 블록을 설정해야합니다. 서버 블록은 Nginx의 Apache의 가상 호스트와 동등하여 단일 서버에서 여러 웹 사이트를 호스팅 할 수 있습니다. 다음은 다음과 같은 방법입니다.
서버 블록 파일 만들기 : 호스팅하려는 각 웹 사이트에 대해 일반적으로 /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>
서버 블록 활성화 : 새 서버 블록을 활성화하려면 /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>
테스트 및 새로 고침 NGINX : 변경 사항을 적용하기 전에 구성을 테스트하여 구문 오류가 없는지 확인하십시오.
<code class="bash">sudo nginx -t</code>
테스트가 통과되면 Nginx를 다시로드하여 새 구성을 적용하십시오.
<code class="bash">sudo systemctl reload nginx</code>
단일 서버에서 여러 웹 사이트를 호스팅하도록 Nginx를 구성하는 프로세스에는 각 웹 사이트의 서버 블록을 생성하고 효율적으로 관리해야합니다. 자세한 단계별 프로세스는 다음과 같습니다.
nginx 설치 : 서버에 nginx가 설치되어 있는지 확인하십시오. Ubuntu에서는 다음을 사용하여 설치할 수 있습니다.
<code class="bash">sudo apt-get update sudo apt-get install nginx</code>
/etc/nginx/sites-available/
에서 구성 파일을 만듭니다. 이전 답변에 제공된 템플릿을 사용하고 각 웹 사이트에 필요에 따라 사용자 정의하십시오./var/www/example.com
)에 대한 디렉토리를 만들고 파일이 이러한 디렉토리에 배치되어 있는지 확인하십시오.sites-available
디렉토리에서 각 서버 블록에 대한 sites-enabled
디렉토리로 상징적 링크를 만듭니다.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>
nginx -t
로 구성을 테스트하고 systemctl reload nginx
.예, 단일 NGINX 설치를 사용하여 다른 도메인을 제공 할 수 있습니다. 이는 각각 다른 도메인에 해당하는 여러 서버 블록을 구성하여 수행됩니다. 이를 달성 할 수있는 방법은 다음과 같습니다.
/etc/nginx/sites-available/
에서 별도의 서버 블록 파일을 만듭니다. 도메인별로 서버 블록을 구별하십시오 . 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>
Nginx에서 가상 호스트 구성 관리 및 문제 해결에는 몇 가지 모범 사례와 도구가 포함됩니다. 성능을 최적화하고 문제를 해결하는 방법은 다음과 같습니다.
로깅 : Nginx의 액세스 및 오류 로그를 사용하여 문제를 모니터링하고 문제 해결하십시오. 액세스 로그는 요청을 추적하는 데 도움이 될 수 있으며 오류 로그는 구성 문제 또는 서버 오류를 식별하는 데 도움이 될 수 있습니다.
<code class="nginx">access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log;</code>
nginx -t
사용하여 NGINX 구성을 정기적으로 테스트하여 NGINX를 다시로드하거나 다시 시작하기 전에 구문 오류를 포착합니다.성능 최적화 :
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>
문제 해결 :
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!