2017-01-10 152 views
0

所以我一直負責讓一臺服務器上運行兩個應用程序,我已經做了,但我們認爲我已經錯誤配置它的URL是錯誤的訪問應用程序和應用程序有奇怪的錯誤上不應該發生。 (Foo/Bar是已經在網站上設置的初始項目,QMS是我創建的應用程序,並且正在嘗試添加)。也許值得一提的,我已經試過其他格式,如在第一虛擬主機聲明都WSGIScriptAlias',這部作品卻帶給我相同的URL格式。兩個Django的應用程序在一臺服務器

中的URL旨在看起來像: mysite.com/foo/bar & mysite.com/QMS

但是當前網址是: 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等/富/目錄下有它(裏面的主要質量管理體系文件夾中包含的意見&模型,但沒有設置等,這可能涉及到,因爲它在設置聲明爲數據庫問題的目錄。另外使用django調試器,我們可以在www.mysite.com/foo/QMS上看到它在QMS設置中運行foo/bar設置)

+0

你不能有兩個''VirtualHost''定義具有相同''ServerName''和同一端口,只有第一個將被使用。你應該在同一個''VirtualHost''中有''WSGIScriptAlias''指令。你也應該使用mod_wsgi的守護進程模式,並委派每個Django實例在不同的進程集中運行。 –

+0

@GrahamDumpleton自發布此問題以來,我已經轉向使用一個VHost。然而,當使用DaemonProcess時,我無法提供兩個靜態庫(每個應用一個),我已經在同一個VHost中聲明瞭它們使用Alias,現在我知道它只會使用第一個,這就是我的問題面對,但我怎樣才能解決它? –

+1

它們不能同時使用''/ static''。你將需要爲兩者使用不同的前綴。你現在對兩者都有什麼? –

回答

0

所以我想通了,並認爲我會回答我的問題,被卡在同一個地方。所以我愚蠢的是我的同事犯了一個合併版本,允許我通過他們的項目訪問我的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和滾動我應用程序現在使用我的設置,它解決了我得到的錯誤。

相關問題