나는CentOS 7 서버약 20개의 도메인이 있으며 모두 다음으로 표시됩니다./etc/httpd/conf.d의 vhosts 파일.
배우려고 노력 중이야장고이를 사용하여 단일 도메인을 설정하고 싶었기 때문에 .conf 파일에 특정 가상 호스트를 추가했습니다.
결과적으로 Django 도메인은 제대로 작동하지만다른 사이트는 다 깨졌는데(Django를 사용해 보았지만 오류가 발생했습니다.)
Django 도메인에는두 개의 폴더: djangodomain.com정적 파일의 경우djangodomain.appPython 파일의 경우.
단일 Django 도메인을 기존 다중 도메인 웹 호스팅 설정에 어떻게 통합하나요?
기존 vhosts.conf:
<VirtualHost *:80>
serveradmin [email protected]
serveradmin [email protected]
usecanonicalname off
# www.site.com » site.com
rewriteengine on
rewritecond %{HTTP_HOST} ^www\.(.*)$ [nc]
rewriterule ^(.*)$ http://%1 [r=301,l]
# file locations
virtualdocumentroot "/home/username/%0"
<directory "/home/username/*">
allowoverride all
require all granted
options indexes followsymlinks
options +execcgi
options +includes
</directory>
</VirtualHost>
내가 추가한 것은 Django 사이트를 제외한 모든 것을 망쳤습니다:
<VirtualHost djangodomain.com:80>
ServerName djangodomain.com
ServerAlias www.djangodomain.com
ServerAdmin [email protected]
DocumentRoot /home/username/djangodomain.com
WSGIScriptAlias / /home/username/djangodomain.app/django.wsgi
<Directory /home/username/djangodomain.app>
Order allow,deny
Allow from all
</Directory>
Alias /robots.txt /home/username/djangodomain.com/robots.txt
Alias /favicon.ico /home/username/djangodomain.com/favicon.ico
Alias /images /home/username/djangodomain.com/images
Alias /static /home/username/djangodomain.com/static
ErrorLog /home/username/djangodomain.logs/error.log
CustomLog /home/username/djangodomain.logs/access.log combined
</VirtualHost>
[업데이트: 문제 해결] 다음에 교차 게시됨스택 교환
답변1
VirtualHost
아무런 설정 없이 동일한 IP 주소 및 포트를 이러한 설정이 있는 IP 주소 및 포트와 결합 할 수 없습니다 . Apache가 이 구성에 대해 실제로 어떻게 생각하는지 확인하기 위해 실행할 수 있습니다.ServerName
ServerAlias
apachectl -S
기본 가상 호스트에 액세스하는 데 사용되는 20개의 도메인 이름을 모두 알고 있다고 가정하면 해결책은 ServerName
/list all domain names 를 사용하는 것입니다 ServerAlias
. 이렇게 하지 않으면 새 IP 주소 및/또는 포트를 다른 IP 주소 및/또는 포트로 격리할 수 있습니다.