편집하다:

편집하다:

Linux를 실행하는 컴퓨터에 액세스할 수 있습니다. Apache2가 설치되어 있습니다. 3개의 가상 호스트를 추가해야 합니다.

그 중 /etc/apache2/sites-available으로 표시된 파일이 약 15개 정도의 그룹이 있습니다 ls -la.

  1. Apache2는 가상 호스트를 생성하기 위해 이 파일들을 알파벳 순서로 하나씩 읽는다고 들었습니다. 이것이 맞습니까?

  2. 충돌이 발생할 때 Linux는 어떻게 우선순위를 부여합니까? 마지막으로 읽은 파일이 승리합니까? 파일을 먼저 읽는 것이 승리합니까?

  3. 3개의 가상호스트를 구성하고 싶다면(기존 가상호스트와 충돌하지 않고) 해당 디렉토리에 추가 파일을 생성하면 되나요?

첨부된:나는 그것을 섞 available었다 enabled. 사람들은 그것을 읽어야 합니다 /etc/apache2/enabled. 죄송합니다.

답변1

Apache2 문서를 읽어볼 수도 있습니다.

Apache2는 가상 호스트를 생성하기 위해 이 파일들을 알파벳 순서로 하나씩 읽는다고 들었습니다. 이것이 맞습니까?

가상 호스트는 /etc/apache2/sites-available에서 읽혀지지 않습니다 /etc/apache2/sites-enabled. 즉, apache2는 libc를 사용하며,gnu.org,디렉토리에 파일이 나타나는 순서는 매우 무작위적인 경향이 있습니다..

편집하다:

내 것보다 더 정확한 @nwildner의 답변을 읽어볼 수도 있습니다.

충돌이 발생할 때 Linux는 어떻게 우선순위를 부여합니까? 마지막으로 읽은 파일이 승리합니까? 파일을 먼저 읽는 것이 승리합니까?

확실하지는 않지만 충돌이 있는 경우 일반적으로 경고 메시지가 표시되고 httpd 서비스가 (다시)로드되지 않습니다.

3개의 가상호스트를 구성하고 싶다면(기존 가상호스트와 충돌하지 않고) 해당 디렉토리에 추가 파일을 생성하면 되나요?

예, 추가 파일을 추가한 후 다음 명령을 실행하십시오.

sudo a2ensite my_site1.conf my_site2.conf my_site3.conf
sudo service apache2 reload

/etc/apache2/sites-availablemy_site1.conf, my_site2.conf및 을 검색합니다 my_site3.conf.

답변2

귀하의 질문에 대한 대답은 사용 중인 배포판에 따라 많이 달라집니다. RPM 기반 배포판과 달리 이 접근 방식과 sites-available디렉터리 sites-enabled/etc/apache2구성 디렉터리를 사용하기 때문에 데비안 기반이라고 가정합니다 ./etc/httpd

답변 1.좋아요. Include파일에서 이 지시문을 볼 수 있습니다 apache2.conf.

host:/etc/apache2# grep sites apache2.conf
Include /etc/apache2/sites-enabled/

Apache include 지시어 보기문서:

...셸 스타일(fnmatch()) 와일드카드를 파일 이름이나 경로의 디렉터리 부분에 사용하여 한 번에 여러 파일을 포함할 수 있습니다.알파벳 순서. ...

답변 2.무엇을 기대해야 할지 잘 모르겠습니다. 의도적으로 Apache 서버에 VirtualHost를 복제했는데 불평하지 않았습니다. 첫 번째 또는 마지막 구성이 유효하도록 설정되어 있는지 확실하지 않습니다.

편집 1: CentOS Apache는 구성의 첫 번째 항목을 사용하는 것으로 보이며 VirtualHost여기에 2개의 동일한 VirtualHost를 넣으면 구성 /etc/httpd/conf.d/virtual_host.conf예만 변경됩니다 .DocumentRoot

<VirtualHost ip.address.A:80>
  DocumentRoot /var/www/sites/wpad
  ServerName wpad.xxx.net
  ServerAlias wpad.xxx.net wpad
</VirtualHost>

<VirtualHost ip.address.A:80>
  DocumentRoot /var/www/sites/wpad2
  ServerName wpad.xxx.net
  ServerAlias wpad.xxx.net wpad
</VirtualHost>

시크릿/개인 브라우저 모드로 탐색할 때 Apache 로그에 첫 번째 wpad.xxx.net/wpad.dat.Not Found 오류가 표시됩니다.virtualhost

답변 3.Debian 기반 배포판에서는 파일을 내부적으로 생성 sites-available하고 심볼릭 링크 해야 합니다.sites-enabled

cd /etc/apache2/sites-available/
ln -s your-site ../sites-enabled/

또는 a2ensite@Sw0ut의 설명을 따르고 사용할 수 있습니다.

관련 정보