2017-04-08 50 views
0

我正在使用Raspberry Pi進行一個小型大學項目。基本上,該項目將提供一個html界面來控制連接到Pi的傳感器。我寫了一個非常簡單的Python代碼,附帶一個非常基本的html代碼。一切都在這個路徑/ var/www/NewTest中完成。然而,每次嘗試訪問它時都會引發500個內部錯誤。我嘗試了簡單的「Hello World」示例,這些示例與我一起工作並嘗試以相同的方式執行此示例,但沒有奏效。使用Flask和Apache時出現內部錯誤500

led.py

from gpiozero import LED 
from time import sleep 
from flask import Flask, render_template 
app = Flask(__name__) 

ledr = LED(17) 
ledg = LED(27) 
ledb = LED(22) 


@app.route('/') 
def index(): 
    return render_template('index.html') 

@app.route('/red/') 
def red(): 
    ledr.off() 
    ledg.off() 
    ledb.off() 
    ledr.on() 
    return ' ' 

@app.route('/green/') 
def green(): 
    ledr.off() 
    ledg.off() 
    ledb.off() 
    ledg.on() 
    return ' ' 

@app.route('/blue/') 
def blue(): 
    ledr.off() 
    ledg.off() 
    ledb.off() 
    ledb.on() 
    return ' ' 

if __name__ == '__main__': 
    app.run(debug=True) 

led.conf

<virtualhost *:80> 
    ServerName 10.0.0.146 

    WSGIDaemonProcess led user=www-data group=www-data threads=5 home=/var/www/NewTest/ 
    WSGIScriptAlias//var/www/NewTest/led.wsgi 

    <directory /var/www/NewTest> 
     WSGIProcessGroup led 
     WSGIApplicationGroup %{GLOBAL} 
     WSGIScriptReloading On 
     Order deny,allow 
     Allow from all 
    </directory> 
</virtualhost> 

的index.html

<!doctype html> 

<title>Test</title> 
<meta charset=utf-8> 

<a href="/red/">RED</a> <br/> 
<a href="/green/">GREEN</a><br/> 
<a href="/blue/">BLUE</a> 

什麼想法? 謝謝!

回答

0

問題出在led.conf。用戶需要是pi。

<virtualhost *:80> 
    ServerName 10.0.0.146 

    WSGIDaemonProcess led user=pi group=www-data threads=5 home=/var/www/NewTest/ 
    WSGIScriptAlias//var/www/NewTest/led.wsgi 

    <directory /var/www/NewTest> 
     WSGIProcessGroup led 
     WSGIApplicationGroup %{GLOBAL} 
     WSGIScriptReloading On 
     Order deny,allow 
     Allow from all 
    </directory> 
</virtualhost> 
相關問題