在Ubuntu 14.04 VPS上部署基本的Python 3.4 Flask应用
我正在尝试把一个WSGI Flask应用程序部署到我的Ubuntu 14.04 Linode VPS上。
我按照基本的说明进行操作,但当我访问我的域名(http://davidystephenson.com)时,看到的却是默认的Apache页面。
这个应用程序放在 /var/www/davidystephenson
目录下。文件结构是:
|----davidystephenson
|--------davidystephenson
|------------static
|------------templates
|------------__init__.py
|--------davidystephenson.wsgi
文件 __init__.py
的内容是(请原谅行号):
import datetime
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
return 'Hello.'
if __name__ == '__main__':
app.run()
文件 davidystephenson.wsgi 的内容是:
#!/usr/bin/python3
from davidystephenson import app as application
我修改了 /etc/apache2/sites-available/davidystephenson.conf
文件,内容变成了:
<VirtualHost *>
ServerName davidystephenson
WSGIDaemonProcess davidystephenson user=www-data group=www-data threads=5
WSGIScriptAlias / /var/www/davidystephenson/davidystephenson.wsgi
<Directory /var/www/davidystephenson/davidystephenson>
WSGIProcessGroup davidystephenson
WSGIApplicationGroup %{GLOBAL}
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
我已经运行了 sudo a2ensite davidystephenson
和 sudo service apache2 restart
。在这个过程中没有看到任何明显的错误或警告。我可能遗漏了什么呢?
1 个回答
2
ServerName应该是你用来访问网站的外部主机名。'davidystephenson'这个值看起来很不对劲。
VirtualHost通常还会指定接受连接的端口号,所以应该写成'*:80',而不是仅仅写'*'。
建议你去看看Apache的文档,了解如何设置命名虚拟主机。