测试 uwsgi 报错 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
tmackan
V2EX    Python

测试 uwsgi 报错

  •  
  •   tmackan
    tmacjx 2016-08-23 13:19:52 +08:00 9534 次点击
    这是一个创建于 3385 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近在用 uwsgi+nginx+virtualenv 部署一个项目

    测试 uwsgi

    # test.py def application(env, start_response): start_response('200 OK', [('Content-Type','text/html')]) return "Hello World" 

    然后在 cmd 在运行 uwsgi --http :8001 --wsgi-file /alidata/websites/LandsBLog/test.py&

    显示:

    ***Starting uWSGI 2.0.13.1 (64bit) on [Tue Aug 23 13:16:46 2016] *** compiled with version: 4.8.5 20150623 (Red Hat 4.8.5-4) on 19 August 2016 14:24:34 os: Linux-3.10.0-327.el7.x86_64 #1 SMP Thu Nov 19 22:10:57 UTC 2015 nodename: iZ230ph83b2Z machine: x86_64 clock source: unix pcre jit disabled detected number of CPU cores: 1 current working directory: /alidata/websites/LandsBLog detected binary path: /root/.virtualenvs/blog/bin/uwsgi uWSGI running as root, you can use --uid/--gid/--chroot options *** WARNING: you are running uWSGI as root !!! (use the --uid flag) *** *** WARNING: you are running uWSGI without its master process manager *** your processes number limit is 7283 your memory page size is 4096 bytes detected max file descriptor number: 65535 lock engine: pthread robust mutexes thunder lock: disabled (you can enable it with --thunder-lock) uWSGI http bound on :8001 fd 4 spawned uWSGI http 1 (pid: 2399) uwsgi socket 0 bound to TCP address 127.0.0.1:45777 (port auto-assigned) fd 3 Python version: 3.4.1 (default, Aug 19 2016, 10:38:55) [GCC 4.8.5 20150623 (Red Hat 4.8.5-4)] *** Python threads support is disabled. You can enable it with --enable-threads *** Python main interpreter initialized at 0x25ccb10 your server socket listen backlog is limited to 100 connections your mercy for graceful operations on workers is 60 seconds mapped 72768 bytes (71 KB) for 1 cores *** Operational MODE: single process *** WSGI app 0 (mountpoint='') ready in 0 seconds on interpreter 0x25ccb10 pid: 2398 (default app) *** uWSGI is running in multiple interpreter mode *** spawned uWSGI worker 1 (and the only) (pid: 2398, cores: 1) 

    正常情况下,通过浏览器访问 ip:8001 ,会显示 Hello World 但是我目前什么也不显示 求大神解答。

    19 条回复    2016-08-26 15:18:17 +08:00
    tmackan
        1
    tmackan  
    OP
       2016-08-23 13:26:23 +08:00
    --wsgi-file /alidata/websites/LandsBLog/test.py

    路径没有问题
        2
    tmackan  
    OP
       2016-08-23 13:47:09 +08:00
    uwsgi 安装方式:
    pip install uwsgi
    tmackan
    tmackan
        3
    tmackan  
    OP
       2016-08-23 13:48:46 +08:00
    当我浏览器中输入 ip:8001 时, cmd 显示信息如下:
    ```[pid: 2444|app: 0|req: 11/11] 123.121.1.79 () {38 vars in 667 bytes} [Tue Aug 23 13:47:34 2016] GET / => generated 0 bytes in 0 msecs (HTTP/1.1 200) 1 headers in 44 bytes (11 switches on core 0)
    [pid: 2444|app: 0|req: 12/12] 123.121.1.79 () {36 vars in 594 bytes} [Tue Aug 23 13:47:35 2016] GET /favicon.ico => generated 0 bytes in 0 msecs (HTTP/1.1 200) 1 headers in 44 bytes (11 switches on core 0)
    ```
    tmackan
        4
    tmackan  
    OP
       2016-08-23 14:13:32 +08:00
    在服务器 cmd 下运行
    curl -i 'http://127.0.0.1:8001/'
    显示:
    HTTP/1.1 200 OK
    Content-Type: text/html

    并没有显示 hello world
    bdbai
        5
    bdbai  
       2016-08-23 15:07:26 +08:00 via Android
    return ["Hello World"]
    lovepython
        6
    lovepython  
       2016-08-23 15:13:05 +08:00
    你的返回值不对, return 我记得是可迭代的
    tmackan
        7
    tmackan  
    OP
       2016-08-23 15:19:29 +08:00
    @lovepython
    python 中字符串本身就是可以迭代的
    tmackan
        8
    tmackan  
    OP
       2016-08-23 16:03:57 +08:00
    @bdbai 试了 不行呀
    csdreamdong
        9
    csdreamdong  
       2016-08-23 17:55:10 +08:00
    贴一下 uwsgi 的配置呗。
    csdreamdong
        10
    csdreamdong  
       2016-08-23 17:56:27 +08:00
    - -。。没仔细看。。要把 virtualevn 的路径加到。。 uwsgi 的启动项里。
    tmackan
        12
    tmackan  
    OP
       2016-08-23 18:36:45 +08:00
    @csdreamdong
    我是在已经开启了虚拟环境的情况下,运行 uwsgi --http :8001 --wsgi-file /alidata/websites/LandsBLog/test.py&命令的
    日志也显示, uwsgi 和 python 都是虚拟环境中所对应的,而不是 system-side 的。
    wang9571
        13
    wang9571  
       2016-08-23 21:07:35 +08:00   1
    return [b"Hello World"]
    要返回 bytes 型列表
    tmackan
        14
    tmackan  
    OP
       2016-08-23 21:23:53 +08:00
    @wang9571 非常感谢,此为正解
    tmackan
        15
    tmackan  
    OP
       2016-08-26 13:41:23 +08:00
    @wang9571
    又出现另一个问题,麻烦看下
    http://www.v2ex.com/t/301307#reply2
    感谢
    wang9571
        16
    wang9571  
       2016-08-26 14:12:15 +08:00
    @tmackan 额~~其实我只是一个初学者,还没用过 uwsgi ,这个帖子的问题并不涉及 uwsgi 我才碰巧答出来~~~
    tmackan
        17
    tmackan  
    OP
       2016-08-26 14:22:43 +08:00
    @wang9571
    嗯 但是有的教程中
    不用指明 hello world 字符串转为 bytes 型也行
    咳 也是醉了 我快被部署折腾疯了
    wang9571
        18
    wang9571  
       2016-08-26 14:37:06 +08:00
    @tmackan 不指明可能是因为那些教程适合 python2 版本的吧?我测试过: python3 必须是 bytes 型, python2 字符串与 bytes 型都可以
    tmackan
        19
    tmackan  
    OP
       2016-08-26 15:18:17 +08:00
    @wang9571
    ok ,明白了,那应该是版本问题
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2709 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 06:41 PVG 14:41 LAX 22:41 JFK 01:41
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86