【问题标题】:uwsgi works from console but not iniuwsgi 从控制台工作,但不是 ini
【发布时间】:2016-02-02 17:25:39
【问题描述】:

我正在尝试使用 nginx 设置石墨。因此,我需要使用 /etc/uwsgi 中的配置或 ini 文件来运行它,但我无法让应用程序正确启动。

使用,命令,

uwsgi --http :9090 --wsgi-file /opt/graphite/conf/graphite.py

Graphite 启动并运行良好,我可以浏览它并查看统计信息。

我开始创建一个ini文件,内容如下:

[uwsgi]
processes = 2
socket = localhost:8081
gid = nginx
uid = nginx
chdir = /opt/graphite/conf
uswsgi-file = graphite.py

运行我看到的ini文件:

mapped 145536 bytes (142 KB) for 2 cores
*** Operational MODE: preforking ***
*** no app loaded. going in full dynamic mode ***
*** uWSGI is running in multiple interpreter mode ***

我只能猜测 ini 文件中的某些配置有误,但我没有看到它是什么。

感谢任何帮助!

【问题讨论】:

    标签: python nginx uwsgi graphite


    【解决方案1】:

    你的命令行和ini文件有一些区别:

    1. 您在 ini 中使用 socket 而不是 http。这意味着,uWSGI 服务器将使用 uwsgi 协议而不是 http 进行通信。如果您在 nginx 中使用 uwsgi_pass 并尝试通过该 nginx 从浏览器访问您的网站,那很好。但是如果你试图直接从浏览器访问uwsgi,绕过nginx,你不会成功,因为浏览器不支持uwsgi。

    2. 您已将 uswgi-file 而不是 wsgi-file 放入您的配置中。那根本行不通,uwsgi 将无法找到您的 wsgi 文件。 如果您使用 wsgi 文件进入目录,最好使用:

      module = wsgi
      

      而不是wsgi-file

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-09-06
      • 1970-01-01
      • 2019-08-10
      • 2018-06-28
      • 2018-12-20
      • 1970-01-01
      • 2015-03-09
      • 1970-01-01
      相关资源
      最近更新 更多