bottlepy用mod_wsgi的时候发生一个错误

Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/bottle.py", line 764, in _handle
    return route.call(**args)
  File "/usr/local/lib/python2.7/dist-packages/bottle.py", line 1575, in wrapper
    rv = callback(*a, **ka)
  File "/home/tin/sg/main.py", line 30, in login
    user.login(sharer)
  File "/home/tin/sg/User.py", line 60, in login
    User.send_tcp(self.ip, sharer.id, sharer.password)
  File "/home/tin/sg/User.py", line 161, in send_tcp
    send(IP(src=ip, dst='destIP') / TCP(sport=sport, dport=80, seq=0, flags='S'))
  File "/usr/lib/python2.7/dist-packages/scapy/sendrecv.py", line 251, in send
    __gen_send(conf.L3socket(*args, **kargs), x, inter=inter, loop=loop, count=count,verbose=verbose, realtime=realtime)
  File "/usr/lib/python2.7/dist-packages/scapy/arch/linux.py", line 307, in __init__
    self.ins = socket.socket(socket.AF_PACKET, socket.SOCK_RAW, socket.htons(type))
  File "/usr/lib/python2.7/socket.py", line 187, in __init__
    _sock = _realsocket(family, type, proto)
error: [Errno 1] Operation not permitted

为什么这里会发生权限错误呢?但是我用bottle内置的run()的时候是没有任何问题的。我的wsgi文件是这么设置的

import os, sys, bottle

sys.path = ['/home/tin/sg'] + sys.path
os.chdir(os.path.dirname(__file__))

import main

bottle.debug(True)
application = bottle.default_app()

结构:

.
├── main.py
├── User.py
└── views
    ├── template files
阅读 5.1k
1 个回答

自己解决了,问题在于执行权限

[uwsgi]
gid = root
uid = root
chmod-socket = 777
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题