apache2未在本地服务器上显示flask应用程序

apache2未在本地服务器上显示flask应用程序,flask,apache2,wsgi,Flask,Apache2,Wsgi,我遵循本教程: 在我的本地服务器上本地网络上的家庭计算机上。 烧瓶本身启动正常 >>> 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

我遵循本教程:

在我的本地服务器上本地网络上的家庭计算机上。 烧瓶本身启动正常

>>> 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都会显示其默认网页

sudoa2enmodwsgi

Module wsgi already enabled
cat/var/www/FlaskApp/FlaskApp/init.py

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>
我已尝试添加app.runhost='0.0.0.0',port=5000 我在localnetwork 10.0.1.xxx中有/etc/hosts dagserv作为我的ip 还尝试将ServerName作为本地主机

我不明白的一件事是Apache到底是如何找到FlaskApp.conf的,但我假设它正在扫描其配置目录 /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>
我在/var/logs/apache2中没有收到任何错误

cat access.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"
cat错误日志

[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'
1.Apache是如何找到FlaskApp.conf的 /etc/apache2/apache2.conf中有一行包含虚拟主机配置:

# 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默认站点配置:

sudo a2dissite 000-default.conf
service apache2 restart
1.Apache是如何找到FlaskApp.conf的 /etc/apache2/apache2.conf中有一行包含虚拟主机配置:

# 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默认站点配置:

sudo a2dissite 000-default.conf
service apache2 restart

您是否尝试过将虚拟主机配置放在000-default.conf的顶部?在开始的VirtualHost标记中也使用*:80而不是*。使用mod_时,不使用wsgi app.run。您正在使用的URL是什么?因为您有VirtualHost和服务器名dagzserv,所以URL必须是http://dagzerv/. 如果您使用的不是IP地址,而是默认的VirtualHost。@GrahamDumpleton thx对于该应用程序。运行提示不知道。我试过10.0.1.101 ip。两者都只是在ubuntu版本中显示干净的默认apache web,如果这改变了任何东西,请尝试使用。通常,您将始终拥有端口。还要在配置文件中添加一个语法错误,以验证Apache是否真的在读取它。@ApoorvKansal还没有尝试过,但不想弄乱Apache的默认设置。总的来说,我觉得很奇怪,你必须为你制作的每个应用程序制作apache配置:你有没有尝试过将虚拟主机配置放在000-default.conf的最上面?在开始的VirtualHost标记中也使用*:80而不是*。使用mod_时,不使用wsgi app.run。您正在使用的URL是什么?因为您有VirtualHost和服务器名dagzserv,所以URL必须是http://dagzerv/. 如果您使用的不是IP地址,而是默认的VirtualHost。@GrahamDumpleton thx对于该应用程序。运行提示不知道。我试过10.0.1.101 ip。两者都只是在ubuntu版本中显示干净的默认apache web,如果这改变了任何东西,请尝试使用。通常,您将始终拥有端口。还要在配置文件中添加一个语法错误,以验证Apache是否真的在读取它。@ApoorvKansal还没有尝试过,但不想弄乱Apache的默认设置。总的来说,我觉得很奇怪,你必须为你制作的每个应用程序制作apache配置: