Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python web2py-允许外部访问-如何?_Python_Web2py - Fatal编程技术网

Python web2py-允许外部访问-如何?

Python web2py-允许外部访问-如何?,python,web2py,Python,Web2py,我想启动一个web2py服务器,以便可以从外部访问托管服务器 我读过这个 默认情况下,web2py在127.0.0.1:8000上运行其web服务器(服务器上的端口8000) localhost),但您可以在任何可用的IP地址和端口上运行它。 您可以通过打开 命令行并在Windows上键入ipconfig或在OS X上键入ifconfig,然后 Linux。从现在起,我们假设web2py正在本地主机上运行 (127.0.0.1:8000). 使用0.0.0.0:80在您的任何计算机上公开运行we

我想启动一个web2py服务器,以便可以从外部访问托管服务器

我读过这个

默认情况下,web2py在127.0.0.1:8000上运行其web服务器(服务器上的端口8000) localhost),但您可以在任何可用的IP地址和端口上运行它。 您可以通过打开 命令行并在Windows上键入ipconfig或在OS X上键入ifconfig,然后 Linux。从现在起,我们假设web2py正在本地主机上运行 (127.0.0.1:8000). 使用0.0.0.0:80在您的任何计算机上公开运行web2py 网络接口

但我找不到如何“使用0.0.0.0:80”?似乎没有一个命令行参数可以做到这一点

谢谢


编辑:我应该说所讨论的服务器没有GUI-我知道web2py有一些基于GUI的管理工具,但这是不可能的


EDIT2:为了防止这一点不清楚(很可能会有什么不同——我对此表示怀疑),我正在这样运行服务器:

sudo python web2py.py
不是通过wsgi/apache或类似的方式

python web2py.py --ip 0.0.0.0
工作正常,但日志消息会将您指向无效地址:

please visit:
    http://0.0.0.0:8000

或者,您可以使用以太网接口ip,但它也不会在本地主机上侦听。可以帮助您的是,当服务器gui弹出询问管理员密码时,您可以选择公共ip。

在终端中执行以下操作

install ufw with apt
add 8000 to firwall.
ufw allow 8000/tcp
ufw allow 8000/tcp
导航到下载的web2py和cd web2py所在的位置

使用nano serverstartup.sh并添加以下行

python2.7 web2py.py -a 'Server admin passwrod' -c server.crt -k server.key -i your device IP address -p 8000
将服务器管理员密码更改为您选择的任何密码

chmod +x serverstartup.sh

run ./serverstartup.sh in your terminal

就是这样。您可以通过按住键盘上的control和c键来停止服务器。

服务器不需要guy,我在没有Tkinter的情况下启动了它。您肯定需要root(sudo)绑定到端口80。这就是说,端口8000对于开发工作来说应该很好,而且无论如何,您不应该使用内置服务器进行生产