웹사이트 검색

CentOS 6에서 nginx 가상 호스트(서버 블록)를 설정하는 방법


상태: 더 이상 사용되지 않음

이 문서에서는 더 이상 지원되지 않는 CentOS 버전에 대해 설명합니다. 현재 CentOS 6을 실행하는 서버를 운영 중인 경우 지원되는 버전의 CentOS로 업그레이드하거나 마이그레이션하는 것이 좋습니다.

이유:

대신 참조:

다음 DigitalOcean 튜토리얼은 CentOS 7 서버에서 Nginx 서버 블록을 설정하는 방법을 설명하므로 중간에 있을 수 있습니다.

  • CentOS 7에서 Nginx 서버 블록을 설정하는 방법

가상 호스트 정보

가상 호스트는 단일 가상 사설 서버에서 둘 이상의 웹사이트 또는 도메인을 실행하는 데 사용됩니다. 참고: nginx 웹사이트에 따르면 가상 호스트는 nginx에서 서버 블록이라고 합니다. 그러나 Apache와 쉽게 비교할 수 있도록 이 자습서 전체에서 가상 호스트라고 합니다.

소개

VPS에 nginx가 설치되어 있는지 확인하십시오. 그렇지 않은 경우 2단계로 빠르게 설치할 수 있습니다.

EPEL 저장소를 설치합니다.

 su -c 'rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm'

nginx 설치

yum install nginx

1단계 - 새 디렉터리 만들기

가상 호스트 생성의 첫 번째 단계는 새 웹사이트의 정보를 보관할 디렉토리를 생성하는 것입니다.

이 위치는 나중에 Nginx 가상 구성 파일의 문서 루트가 됩니다. 코드 줄에 -p를 추가하면 이 명령은 새 디렉터리의 모든 부모를 자동으로 생성합니다.

sudo mkdir -p /var/www/example.com/public_html

가상 호스트가 작동하는지 테스트하려면 실제 DNS 승인 도메인 또는 IP 주소를 지정해야 합니다. 이 자습서에서는 올바른 도메인 이름에 대한 자리 표시자로 example.com을 사용합니다.

그러나 승인되지 않은 도메인 이름을 사용하여 프로세스를 테스트하려는 경우 6단계에서 로컬 컴퓨터에서 작동하게 만드는 방법에 대한 정보를 찾을 수 있습니다.

2단계 - 권한 부여

루트 시스템에 디렉터리를 보관하는 대신 올바른 사용자에게 디렉터리 소유권을 부여해야 합니다. 아래의 "www"를 적절한 사용자 이름으로 바꿀 수 있습니다.

sudo chown -R www:www /var/www/example.com/public_html

또한 모든 사람이 새 파일을 읽을 수 있도록 하는 것이 중요합니다.

sudo chmod 755 /var/www

이제 모든 권한이 완료되었습니다.

3단계 - 페이지 만들기

앞에서 만든 디렉토리 내에 index.html이라는 새 파일을 만들어야 합니다.

sudo vi /var/www/example.com/public_html/index.html

사이트가 가상 호스트로 리디렉션될 때 볼 수 있도록 파일에 일부 텍스트를 추가할 수 있습니다.

<html>
  <head>
    <title>www.example.com</title>
  </head>
  <body>
    <h1>Success: You Have Set Up a Virtual Host</h1>
  </body>
</html>

저장 및 종료

4단계 - 가상 호스트 설정

다음 단계는 nginx 구성 파일 자체에 들어가는 것입니다.

sudo vi /etc/nginx/conf.d/virtual.conf

가상 호스트 파일은 이미 가상 서버에 거의 완벽하게 설정되어 있습니다. 완료하려면 필요에 따라 서버 이름과 파일 위치를 수정하여 다음 구성을 일치시키기만 하면 됩니다.

#
# A virtual host using mix of IP-, name-, and port-based configuration
#

server {
    listen       80;
#    listen       *:80;
    server_name  example.com;

    location / {
        root   /var/www/example.com/public_html/;
         index  index.html index.htm;
    }
}

저장 및 종료.

5단계 - nginx 재시작

구성을 많이 변경했습니다. nginx를 다시 시작하고 변경 사항을 표시합니다.

/etc/init.d/nginx restart

선택적 6단계 - 로컬 호스트 설정

실제 도메인이나 IP 주소를 사용하여 가상 서버를 테스트한 경우 로컬 호스트를 설정할 필요가 없습니다. 그러나 소유하지 않은 일반 도메인을 사용하는 경우 컴퓨터에서만 사용자 정의할 수 있습니다.

이 단계에서는 VPS가 아닌 컴퓨터 자체에 있는지 확인하십시오.

이 단계를 진행하려면 컴퓨터의 관리 암호를 알아야 합니다. 그렇지 않으면 실제 도메인 이름이나 IP 주소를 사용하여 가상 호스트를 테스트해야 합니다.

관리자 액세스 권한이 있다고 가정하면(su를 입력하고 올바른 암호를 입력하여 얻음) 로컬 호스트를 설정하는 방법은 다음과 같습니다.

로컬 컴퓨터에서 다음을 입력합니다.

nano /etc/hosts

아래 예와 같이 이 파일에 로컬 호스트 세부 정보를 추가할 수 있습니다. IP 주소와 서버 이름이 있는 한 브라우저에서 example.com으로 이동하면 지정한 해당 IP 주소에 대한 모든 가상 호스트 세부 정보가 제공됩니다.

# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1       localhost

#Virtual Hosts 
12.34.56.789    www.example.com 

그러나 나중에 혼란을 피하기 위해 완료되면 로컬 호스트 폴더에서 이러한 구성된 주소를 삭제하는 것이 좋습니다.

7단계 - 작동 중인 가상 호스트 보기

가상 호스트 설정을 마치면 온라인 상태를 확인할 수 있습니다. 브라우저에서 도메인 이름이나 IP 주소를 가리키면 "성공—가상 호스트를 설정했습니다"라는 페이지가 표시되어야 합니다.

더 많은 가상 호스트 추가

추가 가상 호스트를 만들려면 매번 적절한 새 도메인 이름으로 새 문서 루트를 설정하도록 주의하면서 위의 프로세스를 반복하면 됩니다. 그런 다음 아래와 같이 새 가상 호스트 정보를 nginx 구성 파일에 복사하여 붙여넣기만 하면 됩니다.

#
# A virtual host using mix of IP-, name-, and port-based configuration
#

server {
    listen       80;
#    listen       *:80;
    server_name  example.com;

    location / {
        root   /var/www/example.com/public_html/;
         index  index.html index.htm;
    }
}


server {
    listen       80;
#    listen       *:80;
    server_name  example.org;

    location / {
        root   /var/www/example.org/public_html/;
         index  index.html index.htm;
    }
}