2016-11-11 61 views
0

我有一臺運行Apache 2.4的Amazon EC2服務器。我在那裏使用Python和常規CGI運行一個網站,然後使用mod_wsgi和index.wsgi腳本運行另一個虛擬主機。當我在我的wsgi文件中使用默認的WSGI可調用類對象腳本時,它工作正常。但是,如果我使用像Flask或Bottle這樣的WSGI兼容框架,它會在一分鐘內加載並完美工作,然後突然在我的網站上發佈503錯誤消息。即使我將腳本更改回默認值,該錯誤仍會持續約5分鐘,然後重新開始工作。我正在使用mod_wsgi和通常的守護進程模式。請幫忙。我使用的是RedHat Linux,Apache 2.4,Python 2.7以及最新的燒瓶和mod_wsgi。Apache mod_wsgi燒瓶大約一分鐘後崩潰

編輯:這是我的站點特定的Apache .conf文件

<VirtualHost *:80> 
    ServerName ihave.nolife.lol 
    WSGIScriptAlias//var/www/ihave/index.wsgi 
    WSGIDaemonProcess ihave user=apache group=apache processes=1 threads=5 
    <Directory /var/www/ihave> 
      Require all granted 
      WSGIProcessGroup ihave 
      WSGIApplicationGroup %{GLOBAL}  
    </Directory> 
    ErrorLog /var/www/html/ihave/errorlog 
    LogLevel debug 
    CustomLog /var/www/html/ihave/requests combined 

回答

0

沒有足夠的信息。但有人猜測,這是因爲你正在使用一些第三方的Python軟件包,它們使用C擴展模塊,它不適用於子解釋器。閱讀以下內容並設置該指令。還建議您確保使用守護程序模式而不是嵌入模式。

+0

謝謝你,我已經使用WSGIApplicationGroup指令,我已經更新,以顯示該網站的我的整個Apache的配置文件。 – TheCoolManz

+0

將''LogLevel''的''debug''更改爲''info''。查看主要的Apache錯誤日誌(不是虛擬主機),以獲取有關mod_wsgi何時重新啓動進程以及原因的信息。這顯示了什麼細節? –

+0

沒有給出任何信息,這裏是在使用mod_wsgi運行flask應用程序大約一分鐘後的日誌文件內容,此時apache崩潰。 '[Sun Nov 13 02:05:41.358099 2016] [:info] [pid 9495] mod_wsgi(pid = 9495):uid = 48,gid = 48,threads = 1的過程'ihave' [Sun Nov 13 02:05:41.408785 2016] [:info] [pid 9497] mod_wsgi(pid = 9495):初始化Python [Sun Nov 13 02:05:41.408785 2016] [:info] [pid 9497] mod_wsgi (pid = 9497):附加解釋器''。' – TheCoolManz