tmd*_*dag 1 wsgi apache2 flask
我正在关注本教程:https : //pythonprogramming.net/creating-first-flask-web-app/?completed=/flask-web-development-introduction/
在我的本地服务器上(本地网络上的家用机器)。Flask 本身正常启动
>>> python /var/www/FlaskApp/FlaskApp/__init__.py
* Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)
127.0.0.1 - - [31/Oct/2016 22:56:29] "GET / HTTP/1.1" 200 -
127.0.0.1 - - [31/Oct/2016 22:56:29] "GET /favicon.ico HTTP/1.1" 404 -
Run Code Online (Sandbox Code Playgroud)
Flask 启动 但是无论如何 Apache 都会显示其默认网页。
须藤 a2enmod wsgi
Module wsgi already enabled
Run Code Online (Sandbox Code Playgroud)
cat /var/www/FlaskApp/FlaskApp/ init .py
from flask import Flask
app = Flask(__name__)
@app.route('/')
def homepage():
return "Hi There, how you're doin?"
if __name__ == "__main__":
app.run()(debug=True)
Run Code Online (Sandbox Code Playgroud)
cat /etc/apache2/sites-available/FlaskApp.conf
<VirtualHost *>
ServerName dagzserv
ServerAdmin my@email.com
WSGIScriptAlias / /var/www/FlaskApp/flaskapp.wsgi
<Directory /var/www/FlaskApp/FlaskApp/>
Require all granted
</Directory>
Alias /static /var/www/FlaskApp/FlaskApp/static
<Directory /var/www/FlaskApp/FlaskApp/static/>
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
sudo a2ensite FlaskApp
Site FlaskApp already enabled
Run Code Online (Sandbox Code Playgroud)
我尝试添加 app.run(host='0.0.0.0', port=5000) 我确实有 /etc/hosts dagserv 作为我在本地网络 (10.0.1.xxx) 中的 ip 也尝试将 ServerName 作为本地主机。
我不明白的一件事是 Apache 究竟是如何找到“FlaskApp.conf”的,但我认为它正在扫描其配置目录(/etc/apache2/sites-available/FlaskApp.conf)
我在 /var/logs/apache2 中没有收到错误
猫访问.log
10.0.1.14 - - [31/Oct/2016:22:46:52 -0700] "GET / HTTP/1.1" 200 3524 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36"
10.0.1.14 - - [31/Oct/2016:22:49:14 -0700] "GET / HTTP/1.1" 200 3524 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36"
10.0.1.14 - - [31/Oct/2016:22:49:15 -0700] "GET / HTTP/1.1" 200 3523 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36"
10.0.1.101 - - [31/Oct/2016:22:56:18 -0700] "GET /favicon.ico HTTP/1.1" 404 499 "-" "Mozilla/5.0 (X11; Ubuntu; Linux armv7l; rv:49.0) Gecko/20100101 Firefox/49.0"
Run Code Online (Sandbox Code Playgroud)
猫错误.log
[Mon Oct 31 22:45:47.288264 2016] [wsgi:warn] [pid 982] mod_wsgi: Compiled for Python/2.7.11.
[Mon Oct 31 22:45:47.288623 2016] [wsgi:warn] [pid 982] mod_wsgi: Runtime using Python/2.7.12.
[Mon Oct 31 22:45:47.314433 2016] [mpm_prefork:notice] [pid 982] AH00163: Apache/2.4.18 (Ubuntu) mod_wsgi/4.3.0 Python/2.7.12 configured -- resuming normal operations
[Mon Oct 31 22:45:47.314616 2016] [core:notice] [pid 982] AH00094: Command line: '/usr/sbin/apache2'
[Mon Oct 31 22:48:52.171206 2016] [mpm_prefork:notice] [pid 982] AH00169: caught SIGTERM, shutting down
[Mon Oct 31 22:48:53.766824 2016] [wsgi:warn] [pid 2360] mod_wsgi: Compiled for Python/2.7.11.
[Mon Oct 31 22:48:53.766940 2016] [wsgi:warn] [pid 2360] mod_wsgi: Runtime using Python/2.7.12.
[Mon Oct 31 22:48:53.775947 2016] [mpm_prefork:notice] [pid 2360] AH00163: Apache/2.4.18 (Ubuntu) mod_wsgi/4.3.0 Python/2.7.12 configured -- resuming normal operations
[Mon Oct 31 22:48:53.776083 2016] [core:notice] [pid 2360] AH00094: Command line: '/usr/sbin/apache2'
Run Code Online (Sandbox Code Playgroud)
小智 6
有一行/etc/apache2/apache2.conf包含虚拟主机配置:
# Include the virtual host configurations:
IncludeOptional sites-enabled/*.conf
Run Code Online (Sandbox Code Playgroud)
Apache2 服务器将加载apache2.conf并包括虚拟主机配置。
如果您通过 IP 地址访问服务器,Apache 将根据其默认站点配置返回/etc/sites-available/000-default.conf. 所以如果你想通过 IP 地址访问你的 WSGI 服务器,你应该先禁用 Apache 默认站点配置:
sudo a2dissite 000-default.conf
service apache2 restart
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1922 次 |
| 最近记录: |