Apache는 가상 호스트 파일을 로드하지 않습니다.

Apache는 가상 호스트 파일을 로드하지 않습니다.

Apache2 서버를 설정하려고 하는데 가상 호스트를 로드할 수 없습니다. 혹은 좀 더 정확하게 말하면 에 쓰면 잘 되는데 000-default.conf, 별도의 파일을 사용하려고 할 때마다 완전히 무시하는 것 같습니다.

왜 이것이 작동하지 않습니까? 어떻게 작동하게 만들 수 있나요?

답변1

일반적으로 별도의 가상 호스트 구성을 설정하려면 다음 디렉터리에 배치합니다.

/etc/apache2/sites-available/

따라서 이름이 지정된 가상 호스트가 있는 경우 www.example.com구성 파일 이름은 www.example.com.conf다음과 같이 지정할 수 있습니다.

/etc/apache2/sites-available/www.example.com.conf

그런 다음 다음과 같은 텍스트 편집기에서 해당 파일을 엽니다. 저는 nano예시로 사용하고 있지만 원하는 텍스트 편집기를 자유롭게 사용해도 됩니다.

sudo nano /etc/apache2/sites-available/www.example.com.conf

그런 다음 이와 유사한 콘텐츠를 다음 위치에 배치합니다 www.example.com.conf.

<VirtualHost *:80>
  ServerAdmin [email protected]
  ServerName example.com
  ServerAlias www.example.com
  DocumentRoot /var/www/example.com/
  ErrorLog ${APACHE_LOG_DIR}/error.log
  CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

해당 파일을 닫고 저장한 다음 a2ensite다음과 같이 사용하여 시스템이 다음과 같이 심볼릭 링크를 설정하도록 sites-available합니다 sites-enabled.

sudo a2ensite www.example.com.conf

또는 원하는 경우 수동으로 ln -s다음과 같이 기호 링크를 설정할 수 있습니다.

ln -s /etc/apache2/sites-available/www.example.com.conf /etc/apache2/sites-enabled/www.example.com.conf

완료되면 다음과 같이 Apache를 다시 로드하십시오.

sudo service apache2 reload

어떤 이유로 reload든 작동하지 않으면 다음과 같이 강제로 다시 시작하세요.

sudo service apache2 restart

reloadbefore를 사용하면 restart구성 파일에 오타가 있는 경우 Apache가 오류를 보고하지만 구성 파일을 로드하지 않는다는 이점이 있습니다. 이는 Apache 웹 서버가 로드된 마지막 안정적인 구성 파일을 기반으로 계속 실행 중임을 의미합니다.

restarta를 강제 하고 구성 파일에 오타가 있으면 Apache가 종료될 위험이 있습니다. 왜냐하면 a가 뒤에 오는 restart완전한 서비스를 강제하기 때문입니다 . 그리고 그것이 막히면 구성 오타/문제가 해결될 때까지 서버가 작동하지 않습니다.stopstartstart

답변2

파일을 확인하면 httpd.conf다음과 같은 줄이 포함되어 있어야 합니다 Include conf/*.conf. 와일드카드인지 고정 파일(예 000-default.conf: )인지 확인하세요.

또한 새 conf 파일이 와일드카드 패턴과 일치하고 000-default.conf.

마지막으로 사용 가능한 활성 conf 파일이 있는 아파치 배포판이 있으므로 경우에 따라 작동하려면 소프트 링크가 필요합니다.

관련 정보