我正在尝试用Apache和mod_wsgi运行Bottle.py。
我在windows上运行,用的是xampp。python v2.7
我在httpd中的Apache配置:
<VirtualHost *>
ServerName example.com
WSGIScriptAlias / C:\xampp\htdocs\GetXPathsProject\app.wsgi
<Directory C:\xampp\htdocs\GetXPathsProject>
Order deny,allow
Allow from all
</Directory>
</VirtualHost>我的app.wsgi代码:
import os
os.chdir(os.path.dirname(__file__))
import bottle
application = bottle.default_app()我的hello.py:
from bottle import route
@route('/hello')
def hello():
return "Hello World!"当我转到localhost/hello时,我得到了一个404错误。我在Apache日志文件中没有任何其他错误,可能缺少一些基本的东西。
发布于 2013-07-18 05:31:09
从你的wsgi文件到你的hello.py文件没有连接点。
将hello.py中的内容放入app.wsgi,然后重新启动web服务器。
这应该可以解决问题。
要使您的应用程序模块化以便可以将代码放入各种文件中,请查看Bottle的等效蓝图(由Flask框架使用)
发布于 2015-03-15 00:10:45
段的评论是我将app.wsgi和应用程序python文件分开的一个很好的起点。但对我来说,它们有点晦涩难懂。在闲逛了几个小时后,以下是对我有效的方法:
顺便说一句,我正在开发OSX。请根据您的操作系统调整路径、用户、组
/Library/WebServer/Documents/hello_app/app.wsgi:
import sys
sys.path.insert(0, "/Library/WebServer/Documents/hello_app")
import bottle
import hello
application = bottle.default_app()/Library/WebServer/Documents/hello_app/hello.py:
from bottle import route
@route('/hello')
def hello():
return "Hello World!"/etc/apache2/extra/httpd-vhosts.conf:
<VirtualHost *:80>
ServerName xyz.com
WSGIDaemonProcess hello_app user=_www group=_www processes=1 threads=5
WSGIScriptAlias /v1 /Library/WebServer/Documents/hello_app/app.wsgi
<Directory /Library/WebServer/Documents/hello_app>
WSGIProcessGroup hello_app
WSGIApplicationGroup %{GLOBAL}
Order deny,allow
Allow from all
</Directory>
</VirtualHost>不要忘记重新启动apache服务器。

发布于 2013-07-17 20:55:11
我没有看到任何地方引用了您的hello.py。
您只需将hello.py ( route)的内容放入app.wsgi。
https://stackoverflow.com/questions/17678037
复制相似问题