Nginx + bottle + uwsgi Server每次请求都返回404

时间:2013-06-21 05:00:24

标签: python nginx amazon-ec2 uwsgi bottle

我已经设置了一个具有以下配置的Nginx服务器:

server {
        listen 8080;
        server_name localhost;

        location / {
                include uwsgi_params;
                uwsgi_pass unix:/tmp/uwsgi.notesapi.socket;
                uwsgi_param UWSGI_PYHOME /home/ubuntu/notesAPI/env;
                uwsgi_param UWSGI_CHIDIR /home/ubuntu/notesAPI/src;
                uwsgi_param UWSGI_SCRIPT Notes;
        }

}

我已经设置了一个带有初始跟随初始脚本的瓶子应用程序:

import sys from settings.constants import PROJECT_ROOT print PROJECT_ROOT sys.path.insert(0, PROJECT_ROOT)

import bottle from bottle import Bottle, debug from settings import routes

Notes = Bottle() routes.set(Notes)

debug(True)
if __name__ == '__main__':
    Notes.run(host='0.0.0.0', port=8080, reloader=True)
else:
    application = bottle.default_app()

当我向服务器发送GET请求时,即使路由设置完好,我也会收到404.

以下是uwsgi.log

  

[uWSGI]从/usr/share/uwsgi/conf/default.ini获取INI配置

     

[uWSGI]从/etc/uwsgi/apps-enabled/uwsgi.ini获取INI配置

     

Fri Jun 21 04:47:26 2013 - *在2013年6月21日星期五04:47:26开始uWSGI 1.0.3-debian(64位)*

     

Fri Jun 21 04:47:26 2013 - 版本:4.6.3于2012年7月17日02:26:54编译

     

Fri Jun 21 04:47:26 2013 - 当前工作目录:/

     

Fri Jun 21 04:47:26 2013 - 将pidfile写入/ run / uwsgi / app / uwsgi / pid

     

Fri Jun 21 04:47:26 2013 - 检测到二进制路径:/ usr / bin / uwsgi-core

     

Fri Jun 21 04:47:26 2013 - setgid()to 33

     

Fri Jun 21 04:47:26 2013 - setuid()to 33

     

Fri Jun 21 04:47:26 2013 - 您的内存页面大小为4096字节

     

Fri Jun 21 04:47:26 2013 - uwsgi socket 0绑定到UNIX地址/ run / uwsgi / app / uwsgi / socket fd 5

     

Fri Jun 21 04:47:26 2013 - uwsgi socket 1绑定到UNIX地址/tmp/uwsgi.notesapi.socket fd 6

     

Fri Jun 21 04:47:26 2013 - Python版本:2.7.3(默认,2012年8月1日,05:25:23)[GCC 4.6.3]

     

Fri Jun 21 04:47:26 2013 - 将PythonHome设置为/ home / ubuntu / notesAPI / env

     

Fri Jun 21 04:47:26 2013 - Python主翻译初始化为0x1f27e60

     

Fri Jun 21 04:47:26 2013 - 您的服务器套接字监听积压限制为100个连接Fri Jun 21 04:47:26 2013 - *操作模式:preforking *

     

Fri Jun 21 04:47:26 2013 - 将/ home / ubuntu / notesAPI / src /添加到pythonpath。

     

Fri Jun 21 04:47:26 2013 - *没有加载应用。进入完全动态模式*

     

Fri Jun 21 04:47:26 2013 - * uWSGI以多种翻译模式运行*

     

Fri Jun 21 04:47:26 2013 - 产生了uWSGI主进程(pid:25575)

     

Fri Jun 21 04:47:26 2013 - 产生了uWSGI工作者1(pid:25583,核心:1)

     

Fri Jun 21 04:47:26 2013 - 产生uWSGI工人2(pid:25584,核心:1)

     

/ home / ubuntu / notesAPI / src

     

Fri Jun 21 04:55:28 2013 - WSGI应用程序0(mountpoint ='')准备解释器0x1f27e60 pid:25583(默认应用程序)[pid:25583 | app:0 | req:1/1] 117.196。 135.124(){44 vars in 686 bytes} [Fri Jun 21 04:55:28 2013] GET / =>在188 msecs(HTTP / 1.1 404)中生成723个字节,以87个字节生成2个标头(核心0上有1个交换机)

我是uwsgi和nginx的新手。我似乎无法弄清楚问题。

1 个答案:

答案 0 :(得分:1)

您确定NGINX和UWSGI正常运行吗?很多事情可能都是错的,我建议你遵循这个指南:https://uwsgi.readthedocs.org/en/latest/tutorials/Django_and_nginx.html

使用Django设置NGINX和UWSGI是一步一步的,但我很确定你可以将它应用于除Django之外的任何其他网络应用程序。