簡體   English   中英

一台服務器上有兩個Django應用

[英]Two Django Apps on one server

因此,我的任務是在一台服務器上運行兩個應用程序,雖然我已經完成了,但是我們認為我對它進行了錯誤的配置,因為訪問該應用程序的URL錯誤並且該應用程序出現了不應該發生的怪異錯誤。 (Foo / Bar是站點上已經設置的初始項目,而QMS是我創建並嘗試添加的應用程序)。 可能值得注意的是,我嘗試了其他格式,例如在第一個虛擬主機中同時聲明了兩個WSGIScriptAlias,但這可以為我提供相同的URL格式。

這些URL旨在看起來像:mysite.com/foo/bar和mysite.com/QMS

但是,當前的URL是:mysite.com/foo/bar和mysite.com/foo/QMS

我們面臨的錯誤是Django發出的“ ProgrammingError”,它認為我們的數據庫不存在,但我們已經證明它們存在,並且已經對遷移進行了嘗試。 無論如何都到相關的配置。 所以我目前有這樣的設置:

<VirtualHost _default_:443>
    ServerName web.mysite.com
    ServerAlias www.mysite.com
    WSGIScriptAlias /foo /var/www/html/foo/bar/wsgi.py

    DocumentRoot /var/www/html

    <Directory /var/www/html/foo/mediaroot>
        Require all granted
    </Directory>
</VirtualHost>

<VirtualHost _default_:443>
    ServerName web.mysite.com
    ServerAlias www.mysite.com
    WSGIScriptAlias /qms /var/www/html/qms/QMS/wsgi.py
    Alias /static /var/www/html/qms/staticroot/

    <Directory /var/www/html/qms>
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

感謝您的閱讀,我非常感謝您的幫助,因為這給我帶來了麻煩!

編輯:可能有用的信息。 / www / html / foo /目錄中有一個主要的QMS文件夾(該目錄包含視圖和模型,但不包含設置等。這可能與數據庫問題有關,因為它是在設置中聲明的。 django調試器,我們可以看到在www.mysite.com/foo/QMS上何時在QMS設置上運行foo / bar設置)

所以我想通了,以為如果有人被困在同一個地方,我會回答我的問題。 因此,我愚弄的是我的工作同事提交了一個合並版本,使我可以通過他們的項目訪問URL。 這使我相信這是一個錯誤的配置。

因此,為了解決該問題,我們從他的應用程序中刪除了我的應用程序,然后重新上傳,然后將其添加到我的應用程序wsgi.py文件中:

path = "/var/www/html/qms"      # Make it the base folder of your app
if path not in sys.path:
    sys.path.append(path)

現在,我們正在使用正確的URL,並且我的應用程序現在正在使用我的設置來解決我遇到的錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM