使用 mod_wsgi 将烧瓶服务器移至生产环境
Move a flask server to production with mod_wsgi
我关注了这个tutorial。这是我的服务器:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello World!'
if __name__ == '__main__':
app.run()
运行时
python server.py
curl 127.0.0.1:5000
我得到了预期的结果。
现在我加一个test.wsgi:
import sys
sys.path.insert(0, '/var/www/test')
from server import app as application
并在 /etc/apache2/sites-enabled/test.config:
<VirtualHost *:5000>
ServerName example.com
WSGIDaemonProcess test user=user1 group=user1 threads=5
WSGIScriptAlias / /var/www/test/test.wsgi
<Directory /var/www/test>
WSGIProcessGroup test
WSGIApplicationGroup %{GLOBAL}
Order deny,allow
Allow from all
</Directory>
</VirtualHost>
正在通话中
sudo service apache2 restart
curl 127.0.0.1:5000
将return出错。我做错了什么?
正如 Daniel Roseman 指出的那样,我需要
- 删除 ServerName 指令
- 将
Listen 5000
添加到我的 /etc/apache2/apache.conf
以使服务器侦听端口 5000
我关注了这个tutorial。这是我的服务器:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello World!'
if __name__ == '__main__':
app.run()
运行时
python server.py
curl 127.0.0.1:5000
我得到了预期的结果。
现在我加一个test.wsgi:
import sys
sys.path.insert(0, '/var/www/test')
from server import app as application
并在 /etc/apache2/sites-enabled/test.config:
<VirtualHost *:5000>
ServerName example.com
WSGIDaemonProcess test user=user1 group=user1 threads=5
WSGIScriptAlias / /var/www/test/test.wsgi
<Directory /var/www/test>
WSGIProcessGroup test
WSGIApplicationGroup %{GLOBAL}
Order deny,allow
Allow from all
</Directory>
</VirtualHost>
正在通话中
sudo service apache2 restart
curl 127.0.0.1:5000
将return出错。我做错了什么?
正如 Daniel Roseman 指出的那样,我需要
- 删除 ServerName 指令
- 将
Listen 5000
添加到我的/etc/apache2/apache.conf
以使服务器侦听端口 5000