首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >apache2没有在本地服务器上显示烧瓶应用程序

问apache2没有在本地服务器上显示烧瓶应用程序
EN

Stack Overflow用户
提问于 2016-11-01 06:11:04
回答 1查看 2.4K关注 0票数 2

我正在学习本教程:https://pythonprogramming.net/creating-first-flask-web-app/?completed=/flask-web-development-introduction/

在本地服务器上(本地网络上的主计算机)。烧瓶本身启动正常

代码语言:javascript
复制
>>> 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 -

烧瓶开始,但是Apache无论如何都会显示它的默认网页。

sudo a2enmod wsgi

代码语言:javascript
复制
Module wsgi already enabled

cat /var/www/FlaskApp/FlaskApp/init.py

代码语言:javascript
复制
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)

cat /etc/apache2/站点-可获得/FlaskApp.conf

代码语言:javascript
复制
<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>

数独a2ensite FlaskApp

代码语言:javascript
复制
Site FlaskApp already enabled

我尝试添加app.run(host='0.0.0.0',port=5000),我确实在本地网络(10.0.1.xxx)中使用/etc/hosts作为我的ip (10.0.1.xxx),也尝试使用ServerName作为本地主机。

有一件事我不明白,那就是Apache是如何找到"FlaskApp.conf“的,但我假设它正在扫描它的配置目录(/etc/apache2/sites available/FlaskApp.conf)

我在/var/log/apache2中没有错误

cat access.log

代码语言:javascript
复制
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"

cat error.log

代码语言:javascript
复制
[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'
EN

回答 1

Stack Overflow用户

发布于 2018-05-30 06:57:20

1. Apache是如何发现"FlaskApp.conf“的

/etc/apache2/apache2.conf中有一行包含虚拟主机配置:

代码语言:javascript
复制
# Include the virtual host configurations:
IncludeOptional sites-enabled/*.conf

Apache2服务器将加载apache2.conf并包括虚拟主机配置。

2.为什么Apache无论如何都会显示它的默认网页。

如果您通过IP地址访问服务器,Apache将根据其在/etc/sites-available/000-default.conf中的默认站点配置返回。因此,如果您想通过IP地址访问您的WSGI服务器,您应该首先禁用Apache默认站点配置:

代码语言:javascript
复制
sudo a2dissite 000-default.conf
service apache2 restart
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40354966

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档