2015-09-18 63 views
0

我有一個CentOS 7 WSGI使阿帕奇的httpd服務器(VirtualBox虛擬機),它在http://www.myflask.com端口80上使用遠程主機上的瓶的virtualenv(不是本地)

成爲我的發展瓶的網站因爲我可以」牛逼調試存在(即使我試圖盡我所能),就像我可以在http://127.0.0.1:5000在virutalenv設置一個本地版本,我試圖做到這一點:

  • 設立的virtualenv(帶瓶安裝)上VB服務器,名爲myflaskv(/ var/www/myflaskv)
  • 將myflask目錄放入myflaskv(/ var/w WW/myflaskv/myflask)

我做了以下的httpd.conf虛擬主機節結束:

<VirtualHost *:80> 

    DocumentRoot "/var/www/myflaskv/myflask" 

    <Directory /> 
     Options FollowSymLinks 
     AllowOverride None 
    </Directory> 

    <Directory "/var/www/myflaskv/myflask"> 
     Options Indexes FollowSymLinks MultiViews 
     Order deny,allow 
     Allow from all 
    </Directory> 

    WSGIScriptAlias//var/www/myflaskv/myflask/index.wsgi 

    ServerName www.myflask.com:80 

</VirtualHost> 

我可以加載頁面http://www.myflask.com(即使virtualenv中激活的),但我不能加載我會假設要調試頁面http://www.myflask.com:5000

於是,我就在端口5000添加一個虛擬主機:

<VirtualHost *:5000> 

    DocumentRoot "/var/www/myflaskv/myflask" 

    <Directory /> 
     Options FollowSymLinks 
     AllowOverride None 
    </Directory> 

    <Directory "/var/www/myflaskv/myflask"> 
     Options Indexes FollowSymLinks MultiViews 
     Order deny,allow 
     Allow from all 
    </Directory> 

    WSGIScriptAlias//var/www/myflaskv/myflask/index.wsgi 

    ServerName www.myflaskv.com:5000 

</VirtualHost> 

假設這樣我可以加載http://www.myfaskv.com,而是我不能(ERR_CONNECTION_REFUSED)。

順便說一下,我臨時disactivated ip-tables和se-linux。

那麼有沒有辦法從瀏覽器加載遠程主機的127.0.0.1:5000 IP地址? 還是有更好的方法來在wsgi apache dev環境中調試燒瓶?

+0

調試模式與端口無關。如果你想調試模式,你需要在某處設置'app.debug = True'。 – dirn

回答

0

如果您想從盒子外部訪問網址,則必須在0.0.0.0:5000處運行服務器。

的網址http://127.0.0.1:5000不能從你運行它在箱子外面訪問。

+0

感謝它的工作。 –

0

當您使用WSGI來訪問你的應用程序,錯誤消息和堆棧跟蹤信息寫入到Web服務器錯誤日誌,在默認情況下在/var/log/apache2/error.log。您不需要使用virtualenv Web服務器。只需將需要的任何調試輸出寫入本地日誌文件(如果您有要打印的調試輸入)並在apache錯誤日誌中查找堆棧跟蹤。

+0

感謝您的回答。我實際上正在查看apache errror日誌,但我無法獲得足夠的有關問題的詳細信息,我認爲flask調試器更加冗長。 –

相關問題