无法部署webpy应用程序

时间:2015-10-28 16:24:17

标签: python apache cgi web-deployment

我使用webpy创建了一个Web应用程序,并尝试按照指示Here在Apache上使用CGI来部署该应用程序。在本地计算机上一切正常但我无法用不同的计算机(在不同的网络上)打开网站,我怎样才能让公众可以访问?有什么特殊配置我需要让互联网上的每个人都可以访问吗?目前我按照上面提供的链接

的指示进行配置

NB 我希望有人在他/她的网络浏览器上输入http://192.168.43.124/app/site.py以便能够访问我的网站。

192.168.43.124是我的电脑ip地址,而site.py是python webpy脚本包含

#!C:\python27\python.exe
import web

urls = (
'/(.*)', 'index'
)
app = web.application(urls, globals())

class index:        
    def GET(self, name):
        if not name: 
            name = 'Nothing'
        return 'You want to get: ' + name + '. Is that right??'
if __name__ == "__main__":
    app.run()

2 个答案:

答案 0 :(得分:1)

192.168下的任何内容仅为内部网络地址,并且在其他地方不可见。

您需要找到路由器的外部地址。您还需要将路由器配置为将端口80转发到运行服务器的计算机。

但是,真的,你应该使用合适的网络主机;像Heroku这样的东西可能会在你想要的水平上免费。

答案 1 :(得分:1)

192.168.43.124https://tools.ietf.org/html/rfc1918中指定的本地保留网络地址。如果其他人不属于该本地网络,那么该IP将不适合他们访问。您需要一个公共IP地址供公众用户访问该站点。

使用外部IP地址,只要在任何路由器上配置了正确的端口转发并允许外部流量通过任何防火墙,公众就可以访问该外部IP地址并使用Web应用程序。

使用您正在运行Web应用程序的计算机搜索“我的IP是什么”可能会显示您可以使用的外部IP地址。 https://www.google.com/#q=what+is+my+ip但是你仍然需要确保任何路由器正确转发端口,并且公共可以访问您运行Apache的端口(通常为80)。例如,许多互联网服务提供商将阻止家庭用户的端口80。