如何在我自己的电脑ip地址192.168.x.x上的apache2上运行flask网站

时间:2017-03-20 04:09:37

标签: python apache ubuntu flask webdeploy

我已经创建了一个烧瓶Web应用程序,并且我使用烧瓶运行成功运行。之后,我在我的ubuntu 14.04中安装了apache2服务器。我试图在apache2服务器上部署flask app。我已经这样做了,我可以在127.0.0.1上访问我的应用程序或使用服务器名称“localhost”。

我的虚拟主机设置是 /etc/apache2/sites-available/hello.conf

 <virtualhost *:80>
    ServerName localhost
    WSGIDaemonProcess hello user=vishnumc group=vishnumc threads=5 home=/var/www/FlaskApp/
    WSGIScriptAlias / /var/www/FlaskApp/hello.wsgi

    <directory /var/www/FlaskApp>
        WSGIProcessGroup hello
        WSGIApplicationGroup %{GLOBAL}
        WSGIScriptReloading On
        Order deny,allow
        Allow from all
    </directory>
</virtualhost>

我的wsgi文件是 /var/www/FlaskApp/hello.wsgi

activate_this = '/home/vishnumc/vishnu/project/env/bin/activate_this.py'
execfile(activate_this, dict(__file__=activate_this))
import sys

sys.path.insert(0,"/home/vishnumc/vishnu/project/flask/testapp")

from hello import app as application

我的烧瓶网络应用程序是 /home/vishnumc/vishnu/project/flask/testapp/hello.py

from flask import Flask

app = Flask(__name__)

@app.route('/')
def index():
    return '<h1>This is your index...</h1>'


if __name__ == '__main__':
    app.run()

我的主机文件是 的/ etc /主机

127.0.0.1       localhost
127.0.1.1       vishnumc-P452LA

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

任何人都可以帮助我在我自己的IP地址192.168.1.4本地局域网上访问我的网络应用程序(上面)。当我尝试使用此地址时,它会显示apache2的默认页面。

请帮帮我? 我想知道虚拟主机是如何工作的?请帮我?我是阿帕奇和烧瓶的新手。

apache可以同时监听127.0.0.1和192.168.1.4地址吗?因为我在apache的安装测试期间(在使用flask app之前)在两个地址都有默认页面?

2 个答案:

答案 0 :(得分:0)

请在0.0.0.0 192.168.1.4

中添加以下行
function findMin() {
  let numbersBox = document.getElementById('numbersBox');
  let minBox = document.getElementById('minBox');
  
  let numbers = numbersBox.value.split(',').map(n => parseInt(n));
  let min = Math.min(...numbers);
  
  minBox.value = min;
}

希望这会奏效。

如有任何疑问,请与我们联系。

答案 1 :(得分:0)

为什么apache只显示默认页面

如果您通过外部IP地址访问服务器,Apache服务器将根据其默认站点配置处理请求,返回Apache的默认页面。

如果要通过外部IP地址访问服务器,则必须先禁用默认站点配置。

sudo a2dissite 000-default.conf
service apache2 restart

为什么127.0.0.1和192.168.1.4显示相同的页面

127.0.0.1和192.168.1.4都是服务器的IP地址。 127.0.0.1是环回地址,代表该计算机。环回地址是一种不可路由的IP地址,定义为引用&#34; local&#34;电脑。它是在计算机想要访问自己时使用的。

192.168.1.4是本地网络地址,供其他计算机或网络设备用于查找您的计算机,例如街道号。

如果您仅通过IP地址访问服务器,则表示您正在访问端口80.默认情况下,Apache会侦听此端口,并在收到请求时返回其默认测试页。