我正在使用Flask开发一个非常简单的Web应用程序,我正在尝试将其部署到Digital Ocean VPS。我用apache2和WSGI运行它。 Here's the git repo。我在devops上很糟糕,所以我不知道为什么这不起作用。
在/var/www/VAWomensHealth/
我有一个名为VAWomensHealth
的烧录应用程序的文件夹和一个VAWomensHealth.wsgi
文件,如下所示:
#!/usr/bin/python
import sys
import logging
logging.basicConfig(stream=sys.stderr)
sys.path.insert(0,"/var/www/VAWomensHealth/")
from VAWomensHealth import app as application
#from app import app as application
application.secret_key = 'Add your secret key'
我的index.py
文件如下所示:
app = Flask(__name__)
@app.route('/')
def index():
return render_template('index.html')
@app.route('/feeds')
def feeds():
return render_template('feeds.html')
if __name__ == '__main__':
app.run(debug=True)
我的VAWomensHealth.conf
/etc/apache2/sites-enabled/
内容如下:
<VirtualHost *:80>
ServerName bagbot.com
ServerAdmin chris@example.com
WSGIScriptAlias / /var/www/VAWomensHealth/VAWomensHealth.wsgi
WSGIScriptReloading On
<Directory /var/www/VAWomensHealth/VAWomensHealth/>
Order allow,deny
Allow from all
</Directory>
Alias /static /var/www/VAWomensHealth/VAWomensHealth/static
<Directory /var/www/VAWomensHealth/VAWomensHealth/static/>
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
因此,当我进入域名时,主站点会加载。当我编辑静态文件或模板时,这些更改会立即反映在域中。
但是,我对index.py
所做的代码更改似乎没有生效(例如尝试让索引文件加载不同的模板)。这阻止我向我的应用添加其他路线。
有什么想法吗?
答案 0 :(得分:1)
至于我(但我无法测试),您必须将名称index.py
更改为__init__.py
或者您必须在index
文件
wsgi
from VAWomensHealth.index import app as application