美文网首页
萌新踩坑日常

萌新踩坑日常

作者: 李相赫的乐芙兰 | 来源:发表于2018-05-09 19:16 被阅读88次

    1.在用netstat -lpt查看服务器监听的所有端口以及对应的进程id时,如果是root启动的进程,而用非root账号查看,是看不到进程id的

    2.一般非root权限的进程不能绑定80端口(http请求的默认端口),两种方法解决:

    a)以root权限启动程序

    b)修改执行文件权限

    chown root:root xxx

    chmod 777 xxx

    chmod u+s xxx

    3.Python3.4以上才支持asyncio,3.5.3以上才支持aiohttp

    4.安装python有时候Script目录可能是空的,就是这么任性,卸掉重装吧╮(╯╰)╭

    5.同时创建多个http请求,当请求数超过500左右时进程报错:

    too many file descriptors in select()

    先说结论:同时创建的网络请求数超过了系统的文件描述符数量限制(win=512,linux=1024),别挣扎了,多开几台物理机xjb搞吧

    不服气的话可能会尝试这些办法:

    a)修改进程可使用的文件描述符数量:

    首先你要pip install pypiwin32

    然后

    import win32file

    win32file._setmaxstdio(1024)

    最后结论:没吊用,这个只能修改本进程的fd,aiohttp库最后调用操作系统的select()方法,这里并不能修改select()允许的fd数量(修改注册表的USERProcessHandleQuota也没有用哦)

    b)既然select不行,那我就换epoll/iocp

    首先你要装twisted库

    然后这个库是用c++14标准写的,直接pip install twisted会提示:

    error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft VisualC++ Build Tools": http://landinghub.visualstudio.com/visual-cpp-build-tools

    打开连接地址,发现要下一个vs装一下。喵喵喵?傻子才装vs,不然我直接用c++撸一个了还写毛的python

    不想装vs,那就去https://www.lfd.uci.edu/~gohlke/pythonlibs/下twisted的安装包,然后pip一下就能用了

    装上twisted库再撸一套,发现依然不能创建超过500个http请求哦╮(╯╰)╭

    最后结论:没吊用

    相关文章

      网友评论

          本文标题:萌新踩坑日常

          本文链接:https://www.haomeiwen.com/subject/seporftx.html