
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
reload
before를 사용하면 restart
구성 파일에 오타가 있는 경우 Apache가 오류를 보고하지만 구성 파일을 로드하지 않는다는 이점이 있습니다. 이는 Apache 웹 서버가 로드된 마지막 안정적인 구성 파일을 기반으로 계속 실행 중임을 의미합니다.
restart
a를 강제 하고 구성 파일에 오타가 있으면 Apache가 종료될 위험이 있습니다. 왜냐하면 a가 뒤에 오는 restart
완전한 서비스를 강제하기 때문입니다 . 그리고 그것이 막히면 구성 오타/문제가 해결될 때까지 서버가 작동하지 않습니다.stop
start
start
답변2
파일을 확인하면 httpd.conf
다음과 같은 줄이 포함되어 있어야 합니다 Include conf/*.conf
. 와일드카드인지 고정 파일(예 000-default.conf
: )인지 확인하세요.
또한 새 conf 파일이 와일드카드 패턴과 일치하고 000-default.conf
.
마지막으로 사용 가능한 활성 conf 파일이 있는 아파치 배포판이 있으므로 경우에 따라 작동하려면 소프트 링크가 필요합니다.