2016-06-10 111 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

相关问题