python bottle服务器在Linux上不起作用

时间:2014-01-15 19:54:38

标签: linux bottle

我在linux上运行python bottle服务器时遇到问题。我在我的linux机器上安装了python和bottle。我运行了一个简单的testPort.py程序。

成功开始:

$ sudo python ~/bottle-0.11.6/bottle-0.11.6/test/testPort.py 
Bottle v0.11.6 server starting up (using WSGIRefServer())...
Listening on http://onpoint.stanford.edu:1008/
Hit Ctrl-C to quit.

但是当我使用谷歌浏览器访问它时:http://onpoint.stanford.edu:1008

我收到了消息the webpage is not available.任何人都可以帮我这个吗?

我查了服务器,没有活动。

这是我的linux版本:

webmc@onpoint:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 13.04
Release:        13.04
Codename:       raring

我使用以下命令检查端口是否打开。它似乎确实开放了:

webmc@onpoint:~$ sudo netstat --tcp --udp --listening --program
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 localhost:6010          *:*                     LISTEN      59035/10        
tcp        0      0 localhost:5914          *:*                     LISTEN      46633/Xvnc      
tcp        0      0 localhost:6011          *:*                     LISTEN      53146/1         
tcp        0      0 *:46843                 *:*                     LISTEN      46694/smpd      
tcp        0      0 localhost:5915          *:*                     LISTEN      47007/Xvnc      
tcp        0      0 localhost:6012          *:*                     LISTEN      45889/7         
tcp        0      0 localhost:5916          *:*                     LISTEN      52254/Xvnc      
tcp        0      0 *:36349                 *:*                     LISTEN      54825/mpiexec   
tcp        0      0 localhost:6013          *:*                     LISTEN      46157/9         
tcp        0      0 *:3389                  *:*                     LISTEN      40078/xrdp      
tcp        0      0 localhost:5917          *:*                     LISTEN      61999/Xvnc      
tcp        0      0 *:microsoft-ds          *:*                     LISTEN      1401/smbd       
tcp        0      0 localhost:5918          *:*                     LISTEN      56300/Xvnc      
tcp        0      0 localhost:5919          *:*                     LISTEN      36383/Xvnc      
tcp        0      0 localhost:5920          *:*                     LISTEN      41164/Xvnc      
tcp        0      0 *:39396                 *:*                     LISTEN      54835/MATLAB    
tcp        0      0 *:43333                 *:*                     LISTEN      54830/MATLAB    
tcp        0      0 *:51112                 *:*                     LISTEN      54837/MATLAB    
tcp        0      0 localhost:mysql         *:*                     LISTEN      1974/mysqld     
tcp        0      0 *:netbios-ssn           *:*                     LISTEN      1401/smbd       
tcp        0      0 *:60591                 *:*                     LISTEN      54828/MATLAB    
tcp        0      0 onpoint.Stanford.E:1008 *:*                     LISTEN      7064/python 

这是我的testport.py:

from bottle import Bottle, run, template

app = Bottle()

@app.route('/hello')
def hello():
    return "Hello World!"

run(app, host='onpoint.stanford.edu', port=1008)

2 个答案:

答案 0 :(得分:1)

可能是主机名问题。尝试:

run(app, host='127.0.0.1', port=1008)

然后点击:

http://127.0.0.1:1008/hello

N.B。,如果你从另一台机器上攻击这台服务器,你可能还需要在防火墙上打开一个洞。 (如果你需要帮助,你应该开一个新问题,因为它确实是一个单独的问题。)

答案 1 :(得分:1)

我在Amazon EC2实例上遇到了同样的问题,从localhost更改为127.0.0.1对我不起作用。

为了使其工作,我必须使用我的机器的真实IP地址,因为它出现在ifconfig命令上。