首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >nginx + uwsgi瓶

nginx + uwsgi瓶
EN

Stack Overflow用户
提问于 2012-11-24 16:03:33
回答 1查看 4.2K关注 0票数 0

我们正在开发一个烧瓶应用程序,但在试图配置服务器4个小时之后,我无法理解它。

事情是这样:

  • vm可以通过xx.xx:81访问。
  • 在此服务器上,我的应用程序位于:/var/hg/ server /data/test.py

我想通过XX.XX:81/ws访问这个应用程序

这就是我对nginx做的事:

代码语言:javascript
复制
 location = /var/hg/repositories/data { rewrite ^ /var/hg/repositories/data/; }
     location /ws { try_files $uri @ws; }
     location @ws {
        include uwsgi_params;
        uwsgi_param SCRIPT_NAME /var/hg/repositories/data;
        uwsgi_modifier1 30;
        uwsgi_pass unix:/tmp/uwsgi.sock;
     }

我有一份yaml文件去吃午饭

代码语言:javascript
复制
uwsgi:
  socket: 127.0.0.1:9090
  master: 1
  workers: 1
  chmod-socket: 666
  auto-procname: 1
  python-path: .
  pidfile: /tmp/uwsgi.pid
  daemonize: /var/log/uwsgi.log
  module: test:app

去xx.xx:81给我带来了经典的欢迎信息。

去XX.XX:81/ws给我404。

我做错了什么?

在conf更新后,我

location = /var/hg/repositories/data/ location /var/hg/repositories/data/ { try\_files $uri @web } location @ws { uwsgi\_pass unix:/tmp/uwsgi.sock; }

我的uwsgi公司:

代码语言:javascript
复制
uwsgi:
  socket: unix:/tmp/uwsgi.lock
  master: 1
  workers: 1
  chmod-socket: 666
  auto-procname: 1
  pidfile: /tmp/uwsgi.pid
  deamonize: /var/log/uwsgi.log
  manage-script-name: true
  mount: /ws=/var/hg/repositories/data/test.py
  callable: app
EN

回答 1

Stack Overflow用户

发布于 2012-11-24 17:07:00

您必须在uWSGI中“挂载”应用程序,目前您已将其“挂载”为空SCRIPT_NAME。

安装: /ws=test.py

可调用: app

(删除“模块”指令)就能做到这一点。

我建议您避免使用nginx管理SCRIPT_NAME,因为它在这方面并不太聪明,而使用modifier1 30确实是一种丑陋的攻击。

只需从nginx中同时删除uwsgi_param和uwsgi_modifier1,并添加manage name: true to uWSGI即可。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13542894

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档