编辑:我在解决此问题时遇到了一些进展。有关该情况的更新,请阅读评论并在ServerFault上查看此帖子: https://serverfault.com/questions/690836/django-uwsgi-nginx-not-serving-media-files-django-returns-404-status-code?noredirect=1#comment851441_690836
我正在关注本教程: http://uwsgi-docs.readthedocs.org/en/latest/tutorials/Django_and_nginx.html
在我达到“基本nginx测试”部分之前,一切进展顺利。当我停下来并启动nginx然后将“media.png”添加到我的媒体文件夹并转到
192.168.***.***:8000/media/media.png
它给了我404状态代码。请注意,此状态代码由Django(DEBUG = True)提供,因此它表示:
Page not found (404)
Request Method: GET
Request URL: http://192.168.***.***:8000/media/media.png
Using the URLconf defined in CMS.urls, Django tried these URL patterns, in this order:
这是mysite_nginx.conf:
# mysite_nginx.conf
# the upstream component nginx needs to connect to
upstream django {
# server unix:///path/to/your/mysite/mysite.sock; # for a file socket
server 127.0.0.1:8001; # for a web port socket (we'll use this first)
}
# configuration of the server
server {
# the port your site will be served on
listen 8000;
# the domain name it will serve for
server_name 192.168.***.***; # substitute your machine's IP address or FQDN
charset utf-8;
# max upload size
client_max_body_size 75M; # adjust to taste
# Django media
location /media {
alias /home/a/Documents/media; # your Django project's media files - amend as required
}
location /static {
alias /home/a/Documents/CMS/CMSApp/static; # your Django project's static files - amend as required
}
# Finally, send all non-media requests to the Django server.
location / {
uwsgi_pass django;
include /home/a/Documents/CMS/CMS/uwsgi_params; # the uwsgi_params file you installed
}
}
在尝试查看媒体文件时,我知道为什么会出现404错误?
其他信息:当我去
时http://192.168.***.***:8001/media/media.png
或
127.0.0.1:8001
它说“此网页不可用”。