在共享虚拟主机上运行瓶子服务器

时间:2018-08-10 23:34:55

标签: python web-hosting bottle

这是我的新手,如果有人可以向我澄清一下,我将不胜感激。

我最近开始修改Web应用程序,并且有一个用python和cgi编写的小型Web应用程序。我想尝试瓶子,但我托管在共享服务器上。

如果我通过SSH连接到服务器,则可以启动:

python2.7 exi.py

exi.py:

from bottle import *

@route('/login')
def login():
    return '<h1>Oh no</h1>'

if  __name__ == '__main__':
    run()

这给了我:

Bottle v0.13-dev服务器正在启动(使用WSGIRefServer())...

http://127.0.0.1:8080/ 按Ctrl-C退出。

但是如果我去$ mydomain $:8080 / login

它正在连接...但是最终我会得到ERR_CONNECTION_TIMED_OUT

是否有可能在这些服务上运行我自己的服务器,或者我太天真了?

谢谢你, 雅各布

2 个答案:

答案 0 :(得分:1)

Bottle只为您在localhost上运行,这意味着您只能从服务器本身访问该服务器。

试试看

run(host='0.0.0.0', port=8080, debug=True)

这将在您的本地IP地址上运行它,这应该使您可以从外部进行访问。

答案 1 :(得分:1)

您的想法很有道理。忽略资源限制,如果您已经在那里运行了功能正常的Web服务,则可以访问该计算机以安装软件并打开Internet套接字进行监听。您应该几乎可以运行任何东西。

您发布的内容告诉了我两点。首先,bottle表示它正在localhost上运行,只能从主机本身访问(您可以在Google上获取更多信息)。而且,由于您得到的是连接超时而不是拒绝连接,因此我可以推断出本地防火墙(例如iptables)或托管防火墙(例如AWS安全组)正在阻止对该端口的入站访问。

顺便说一句,您不需要服务器即可测试这些东西。为什么不在本地运行?任何操作系统都可以运行Python。更好的是,在Linux上安装虚拟机,您将继续提高Unix技能。或使用docker! Linux docker主机也可以在Windows或Mac上运行。

相关问题