gpt4 book ai didi

python - 在 Ubuntu 服务器上使用 Flask 和 Apache/mod_wsgi 提供 "Hello World"页面

转载 作者:太空狗 更新时间:2023-10-30 02:44:15 26 4
gpt4 key购买 nike

注意:我发现了五个关于损坏的“hello world on flask/mod_wsgi”实现的问题。我已经查看了所有这些,但找不到解决我自己损坏的实现的方法。因此,请不要急于将此问题作为重复问题关闭。

我正在管理云 Ubuntu 虚拟机。目前它正在运行一个 LAMP 堆栈。在我的 webroot 中,我有一个 mediawiki 和一些 HTML 文件,例如 http://pipad.org/ball/multiball.html -- 一切正常。

现在我想拥有 http://pipad.org/foo使用 Flask 和 Apache/mod_wsgi 提供由 Python 后端动态生成的页面。

不幸地将我的浏览器导航到 http://pipad.org/foo导致“找不到 URL”。

这是我的文件:

pi@PiDroplet:~/web/piFlask$ pwd
/home/pi/web/piFlask

pi@PiDroplet:~/web/piFlask$ ls -l
total 24
-rw-r--r-- 1 root root 628 May 15 02:37 apache.conf
-rwxrwxr-x 1 pi pi 153 May 15 02:39 piFlask.py
-rwxrwxr-x 1 pi pi 379 May 15 02:38 piFlask.wsgi
drwxrwxr-x 5 pi pi 4096 May 14 09:06 venv

piFlask.py

from flask import Flask
app = Flask(__name__)

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

# if __name__ == '__main__':
# app.run()

piFlask.wsgi

# http://flask.pocoo.org/docs/0.10/deploying/mod_wsgi/#creating-a-wsgi-file
# http://www.enigmeta.com/2012/08/16/starting-flask/

import os, sys

PROJECT_DIR = '/home/pi/web/piFlask'

activate_this = os.path.join(PROJECT_DIR, 'bin', 'activate_this.py')
execfile(activate_this, dict(__file__=activate_this))
sys.path.insert(0, PROJECT_DIR)

from piFlask import app as application

apache.conf

pi@PiDroplet:~/web/piFlask$ cat apache.conf 
# Look in http://wiki.apache.org/httpd/DistrosDefaultLayout & find equiv to /usr/local/apache2/conf/httpd.conf
# for me (Ubuntu) it's /etc/apache2/apache2.conf
#
# append:
# Include /path/to/this/file

# http://flask.pocoo.org/docs/0.10/deploying/mod_wsgi/#configuring-apache
<VirtualHost *>
ServerName pipad.org

WSGIDaemonProcess piFlask user=pi group=pi threads=5
WSGIScriptAlias /foo /home/pi/web/piFlask/piFlask.wsgi

<Directory /home/pi/web/piFlask>
WSGIProcessGroup piFlask
WSGIApplicationGroup %{GLOBAL}
Order deny,allow
Allow from all
</Directory>
</VirtualHost>

根据上述配置文件中的注释,...

pi@PiDroplet:~/web/piFlask$ tail -n 2 /etc/apache2/apache2.conf 

Include /home/pi/web/piFlask/apache.conf

谁能看到我错过了什么?

最佳答案

您可能必须在 Flask config 中将 APPLICATION_ROOT 变量设置为 '/foo' .

piFlask.py

from flask import Flask
app = Flask(__name__)
app.config['APPLICATION_ROOT'] = '/foo'

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

关于python - 在 Ubuntu 服务器上使用 Flask 和 Apache/mod_wsgi 提供 "Hello World"页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30253596/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com