【发布时间】:2015-07-23 17:20:35
【问题描述】:
我有一个封装在 tornado 服务器中的烧瓶应用程序,当我遇到此错误时,我正试图在远程服务器上运行应用程序:
Traceback (most recent call last):
File "run.py", line 7, in <module>
server.listen(80)
File "/home/ec2-user/gatekeeper/local/lib/python2.7/site-packages/tornado/tcpserver.py", line 126, in listen
sockets = bind_sockets(port, address=address)
File "/home/ec2-user/gatekeeper/local/lib/python2.7/site-packages/tornado/netutil.py", line 187, in bind_sockets
sock.bind(sockaddr)
File "/usr/lib64/python2.7/socket.py", line 224, in meth
return getattr(self._sock,name)(*args)
socket.error: [Errno 13] Permission denied
所以我尝试使用 sudo 并得到了这个:
Traceback (most recent call last):
File "run.py", line 1, in <module>
from tornado.wsgi import WSGIContainer
ImportError: No module named tornado.wsgi
所以我想知道我是否必须以 root 身份安装 tornado,这反过来意味着我的 virtualenv 实际上毫无用处。
【问题讨论】:
-
我强烈建议不要监听 80 端口(因为它可能会导致一些安全问题)。在另一个端口上监听并使用反向代理怎么样。
-
现在使用 nginx,谢谢
标签: python amazon-ec2 flask virtualenv tornado