Django 사이트를 추가하면 CentOS 7의 가상 호스트가 중단됩니다.

Django 사이트를 추가하면 CentOS 7의 가상 호스트가 중단됩니다.

나는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가 이 구성에 대해 실제로 어떻게 생각하는지 확인하기 위해 실행할 수 있습니다.ServerNameServerAliasapachectl -S

기본 가상 호스트에 액세스하는 데 사용되는 20개의 도메인 이름을 모두 알고 있다고 가정하면 해결책은 ServerName/list all domain names 를 사용하는 것입니다 ServerAlias. 이렇게 하지 않으면 새 IP 주소 및/또는 포트를 다른 IP 주소 및/또는 포트로 격리할 수 있습니다.

관련 정보