运行 共享虚拟主机上的 Bottle 服务器

Running bottle server on shared webhosting

我对此很陌生,所以如果有人能向我澄清一下,我将不胜感激。

我最近开始修补网络应用程序,并有一个用 python 和 cgi 编写的小型网络应用程序。我想试试 Bottle,但我在共享服务器上托管。

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

python2.7exi.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

甚至可以 运行 我自己的服务器上这些服务还是我太天真了?

谢谢, 雅库布

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

试试这个

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

这将 运行 它在您的本地 IP 地址上,该地址应该允许您从外部访问。

你的想法很有道理。忽略资源限制,如果您已经 运行 在那里运行 Web 服务,您就可以访问机器以安装软件并打开 Internet 套接字以进行侦听。您应该能够 运行 几乎任何事情。

你的osted 告诉我两件事。首先,bottle 说它在 localhost 上 运行ning,它只能从 host 本身访问(您可以 Google 了解更多信息)。而且,由于您得到的是连接超时而不是连接被拒绝,我可以推断出本地防火墙(例如 iptables)或 hosted 防火墙(例如 AWS 安全组)正在阻止对该端口的入站访问。

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