当我尝试使用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;
}
}
教程_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
我遵循了官方 Django 文档中的本教程,不幸的是,由于遇到了一些问题,我没有成功完成它。
nginx 服务器设置正确,因为当我从 Web 浏览器访问 ip 时,它会显示正确的页面。django 应用程序在我运行时正在运行python manage.py runserver 0.0.0.0:8000
。关于该教程,我遇到的问题:
uwsgi --http :8000 --module mysite.wsgi
. 我没有这样的文件,但我有类似的东西,叫做wsgy.py: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 (64bit)使用版本编译:4.8.2 on 10 April 2015 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 (默认, Mar 22 2014, 23:03:41) [GCC 4.8.2] Python 线程支持被禁用。您可以使用 --enable-threads 启用它Python 主解释器在 0x122d0c0 初始化您的服务器套接字侦听积压限制为 100 个连接您对工人的优雅操作的怜悯是 60 秒映射 1 个内核的 72760 字节(71 KB) 操作模式:单进程回溯(最后一次调用):文件“./wsgi.py”,第 16 行,在 application = get_wsgi_application() 文件“/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 行,在 setup configure_logging(settings.LOGGING_CONFIG, settings.LOGGING ) 文件“/usr/local/lib/python2.7/dist-packages/django/conf/init .py”,第 48 行,在getattr self._setup (name) 文件“/usr/local/lib/python2.7 /dist-packages/django/conf/ init .py”,第 44 行,在 _setup self._wrapped = Settings(settings_module) 文件“/usr/local/lib/python2.7/dist-packages/django/conf/ init.py”,第 92 行,在init mod = importlib.import_module(self.SETTINGS_MODULE) 文件“/usr/lib/python2.7/importlib/init .py ”,第 37 行,在 import_module import (name) ImportError: No module命名 blog.settings 无法加载应用程序 0 (mountpoint='') (找不到可调用或导入错误) 没有加载应用程序。进入全动态模式 uWSGI 在多解释器模式下运行 *生成 uWSGI worker 1(也是唯一的)(pid:2168,cores:1)
我遇到的另一个问题是当我尝试运行uwsgi --socket :8001 --wsgi-file test.py
. 它给了我一个**no data received message**
“(无法加载网页,因为服务器没有发送数据。)”
有人可以帮帮我吗?