使用nginx和uwsgi部署django应用程序时出现的问题?

时间:2015-04-12 20:30:56

标签: python django nginx uwsgi django-wsgi

当我尝试使用 nginx uwsgi 部署 Django 应用程序时,我遇到了问题。我将从这里开始配置文件:

tutorial_nginx.conf

upstream django {
    server unix:///home/mrgrj/site/blog/tutorial.sock;
}
server {
    listen 8000;
    server_name xx.xx.xxx.xx;

    location /media  {
        alias /home/mrgrj/site/blog/polls/templates;
    }

    location /static/ {
        root /home/mrgrj/site/blog/polls/templates/polls;
    }
    location / {
        uwsgi_pass django;
        include /home/mrgrj/site/blog/uwsgi_params;
    }
}

tutorial_uwsgi.ini

[uwsgi]

chdir           = /home/mrgrj/site/blog
module          = wusgi.py
home            = /home/mrgrj/site

master          = true
processes       = 10
socket          = /home/mrgrj/site/blog/tutorial.sock
vacuum          = true

我从Official Django Documentation开始学习本教程,不幸的是,当我遇到一些问题时,我没有成功完成它。

nginx服务器设置正确,因为当我从Web浏览器访问ip时,它显示正确的页面。当我运行python manage.py runserver 0.0.0.0:8000时,django应用程序正在运行。关于该教程我遇到的问题:

  • uwsgi --http :8000 --module mysite.wsgi。我没有这样的文件,但我有一些名为 wsgy.py 的simillar:

    import os
    from django.core.wsgi import get_wsgi_application
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "blog.settings")
    application = get_wsgi_application()
    

当我尝试使用wsgi.py运行该命令时,它在我的浏览器上显示Internal server error(我通过ip:8000访问它)。追溯:

  

*在[Sun Apr 12 16:42:15 2015] 上启动uWSGI 2.0.10(64位),版本:4.8.2 on 10 2015年4月08:25:41 os:   Linux-3.13.0-43-generic#72-Ubuntu SMP Mon Dec 8 19:35:06 UTC 2014   nodename:alex-test machine:x86_64时钟源:unix检测到的数字   CPU核心:1个当前工作目录:/ home / mrgrj / site / blog / blog   检测到二进制路径:/ usr / local / bin / uwsgi !!!没有内部路由   支持,用pcre支持重建!    警告:您运行的uWSGI没有主进程管理器 您的进程数量限制为3750,您的内存页面大小为检测到4096字节的最大文件描述符号:1024锁定引擎:pthread   强大的互斥锁thunder lock:禁用(你可以启用它   --thunder-lock)uWSGI http绑定:8000 fd 4产生uWSGI http 1(pid:2169)uwsgi socket 0绑定到TCP地址127.0.0.1:41225(端口   自动分配)fd 3 Python版本:2.7.6(默认,2014年3月22日,   23:03:41)[GCC 4.8.2]    禁用Python线程支持。您可以使用--enable-threads 启用它。在0x122d0c0初始化的Python主解释器您的服务器套接字监听积压限制为100个连接您的   对工人进行优雅操作的怜悯是60秒映射72760   1个内核的字节数(71 KB)    操作模式:单个进程 回溯(最近一次调用最后一次):文件" ./ wsgi。 py",第16行,in       application = get_wsgi_application()File" /usr/local/lib/python2.7/dist-packages/django/core/wsgi.py" ;,第14行,   在get_wsgi_application中       django.setup()文件" /usr/local/lib/python2.7/dist-packages/django/ init .py",第17行,   在设置中       configure_logging(settings.LOGGING_CONFIG,settings.LOGGING)File" /usr/local/lib/python2.7/dist-packages/django/conf/ init .py",   第48行, getattr       self._setup(name)File" /usr/local/lib/python2.7/dist-packages/django/conf/ init .py",line   44,在_setup       self._wrapped =设置(settings_module)文件" /usr/local/lib/python2.7/dist-packages/django/conf/ init .py",line   92,在 init 中       mod = importlib.import_module(self.SETTINGS_MODULE)文件" /usr/lib/python2.7/importlib/ init .py",第37行,在import_module中       导入(名称)ImportError:没有名为blog.settings的模块无法加载应用0(mountpoint ='')(未找到可调用或导入错误)    没有加载应用。进入完全动态模式    uWSGI在多种解释器模式下运行* 产生了uWSGI worker 1(并且是唯一的)(pid:2168,核心:1)

我遇到的另一个问题是当我尝试运行uwsgi --socket :8001 --wsgi-file test.py时。它给了我一个**no data received message**`(无法加载网页,因为服务器没有发送数据。)'

有人可以帮帮我吗?

0 个答案:

没有答案