所有网址都在/尝试在EC2上运行django / nginx时

时间:2012-08-14 02:24:49

标签: django nginx amazon-ec2 fastcgi

问题:所有网址都会转到我的目标网页,包括基本的“/ about”和“/ contact”

示例:网址www.mydomain.com运行完美(加载css等),但www.mydomain.com/about即使它是www.mydomain也会访问www.mydomain.com。 com / about在地址栏中。

问题:如何配置nginx以简单地将所有内容传递给django?

我正在使用django将本地编写的网站部署到EC2实例。我可以访问我的默认登录页面,但我无法访问任何其他页面。我有一个基本的网站/ about,/ contact mappings,但当我去他们时,我只是被重定向到我的登录页面。我很确定这与我的nginx配置有关,但在查看了基本的nginx教程后,我认为我并没有理解我所缺少的内容。

这是我的nginx的conf文件......

server {
  listen 80;
  server_name mydomain.com;
  access_log /var/log/nginx/sample_project.access.log;
  error_log /var/log/nginx/sample_project.error.log;

  # https://docs.djangoproject.com/en/dev/howto/static-files/#serving-static-files-in-production
  location /static/ { # STATIC_URL
      alias /home/ubuntu/path/to/static/; # STATIC_ROOT
      expires 30d;
  }

  location /media/ { # MEDIA_URL
      alias /home/ubuntu/path/to/static/; # MEDIA_ROOT
      expires 30d;
  }

  # I have also tried 'location ~* ^(.*?)$' and it had the same effect
  location / {
      include fastcgi_params;
      fastcgi_pass 127.0.0.1:8080;
  } 
}

当我阅读nginx教程/等时,我可以理解它可以做很多事情,但我更愿意通过django处理所有传入的URL。

2 个答案:

答案 0 :(得分:0)

我在EC2上使用Gunicorn + Nginx配置了我的Django站点,它对我来说很好。步骤为here

答案 1 :(得分:0)

我刚刚使用这个nginx conf文件,它开始工作正常。我认为这可能是添加了一个与location元素相关的参数。

https://code.djangoproject.com/wiki/ServerArrangements