用Ples在Apache下运行Flask应用程序

2024-10-01 07:38:52 发布

您现在位置:Python中文网/ 问答频道 /正文

在Apache下使用Plesk运行Flask有很多问题。这件事真让我抓狂。在

当我使用Plesk时,我意识到我需要使用/var/www/vhosts下的vhostsconf文件,而不是virtualhost配置(位于Apache中典型的“sites available”目录下)。在

当我试图运行我的Flask应用程序时,我收到Apache错误日志中的错误:

Timeout when reading response headers from daemon process 'unifica': /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

你会注意到的。我正在使用虚拟环境。 随后,我的实际应用程序位于这里:

apps/unifica/main.py

内容如下:

^{pr2}$

由于我的站点通过ssl进行安全保护,因此我有以下两种vhost配置:

vhost.conf and vhost_ssl.conf

我的vhost.conf公司包含:

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

(重定向不安全的请求)

我的主机_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。我已经在/apps/文件夹中将0755的权限分配给flaskuser(作为所有者)。在

你知道我错在哪里吗?我想我在某个地方犯了一个相当明显的错误。。。在


Tags: apps应用程序sslflaskwsgiapacheconf错误
1条回答
网友
1楼 · 发布于 2024-10-01 07:38:52

如果你还没有解决这个问题,我可以通过在Plesk 12.5中编辑自定义vhost文件来让Flask工作,这是在CentOS7上。它就在这里

/var/www/vhosts/system/{domain}/conf/vhost.conf公司在

添加内容的示例

<VirtualHost *:80> ServerName example.com ServerAdmin me@example.com 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。请记住,有些编辑是针对子域进行的。我希望你的问题得到解决!在

相关问题 更多 >