2016-06-10 109 views
2

使用Plesk在Apache下運行Flask應用程序沒有問題。真的一直在用這個抓我的頭。使用Plesk在Apache下運行Flask應用程序

由於我使用的Plesk,我意識到我需要使用虛擬主機 conf文件在/ var /網絡/虛擬主機,而不是虛擬主機的配置(Apache中坐典型的「站點可用」目錄下)。從守護進程「unifica」讀響應頭時

超時:

當我嘗試運行我的瓶應用,我收到錯誤我的Apache的錯誤日誌中/apps/start.wsgi

我WSGI應用程序文件住在這裏:

/apps/start.wsgi

內容如下:

activate_this = '/apps/unifica/venv/bin/activate_this.py' 
execfile(activate_this, dict(__file__=activate_this)) 
from unifica import app as application 

正如你會發現。我正在使用虛擬環境。 後來,我的實際應用中是住在這裏:

應用/ unifica/main.py

內容如下:

from flask import Flask 
app = Flask(__name__) 

@app.route('/') 
def hello_world(): 
    return 'Hello, World!' 

if __name__ == "__main__": 
    app.run(host='0.0.0.0') 

正如我的網站被固定在SSL上;我有以下兩個虛擬主機配置:

vhost.conf和vhost_ssl.conf

我vhost.conf包含:

RewriteEngine On 
RewriteCond %{HTTPS} !on 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} 

(重定向請求不安全)

我的vhost_ssl.conf包含:

WSGIDaemonProcess unifica user=flaskuser group=flaskgroup threads=5 
WSGIScriptAlias//apps/start.wsgi 

<Directory /apps > 
    WSGIProcessGroup unifica 
    WSGIApplicationGroup %{GLOBAL} 
    Require all granted 
    WSGIScriptReloading On 
</Directory> 

flaskuser存在並屬於flaskgroup。我已將0755權限分配給/ apps /文件夾中的flaskuser(作爲所有者)。

任何想法,我哪裏錯了?我認爲我在某個地方犯了一個相當明顯的錯誤...

回答

2

如果你還沒有解決這個問題,我可以通過在Plesk 12.5中編輯自定義虛擬主機文件來獲得Flask的工作,這是在CentOS7上。它位於這裏;

/var/www/vhosts/system/{domain}/conf/vhost。conf

已添加內容的示例;

<VirtualHost *:80> ServerName example.com ServerAdmin [email protected] WSGIScriptAlias /var/www/vhost/{domain}/{subdomain}/flaskapp.wsgi <Directory /var/www/vhost/{domain}/{subdomain}/static> Order allow,deny Allow from all </Directory> Alias /static /var/www/vhost/{domain}/{subdomain}/static <Directory /var/www/vhost/{domain}/{subdomain}/static> Order allow,deny Allow from all </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log LogLevel warn CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>

在我的設置我使用權限705請記住這些編輯都是一個子域做。我希望你能解決你的問題!

+0

嗨戴夫, 感謝您的答覆。我們最終取消了Plesk,因爲它造成了比解決更多的行政問題。 謝謝! – Jordan

相關問題