Sono nuovo a Nginx, ho vincolato con successo il mio progetto django a Nginx. Tuttavia non posso servire i miei file statici e credo di aver impostato erroneamente la posizione della mia cartella multimediale. Ecco il mio albero di file:Come servire i file multimediali django via nginx?
root_directory
my_django_project
...
manage.py
app1
app2
media
admin
css
js
...
E il mio nginx.conf va come:
server {
listen 192.168.1.9:80;
server_name localhost;
# site_media - folder in uri for static files
location /media/ {
root /home/nazmi/workspace/portal/media/;
}
location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js|mov) {
access_log off; # po co mi logi obrazków :)
expires 30d;
}
location/{
# host and port to fastcgi server
fastcgi_pass 127.0.0.1:8080;
fastcgi_param PATH_INFO $fastcgi_script_name;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_pass_header Authorization;
fastcgi_intercept_errors off;
}
access_log /var/log/nginx/localhost.access_log main;
error_log /var/log/nginx/localhost.error_log;
}
}
Quando ho aperto la mia pagina di amministrazione, tutte le pagine CSS danno errore 404. Puoi dirmi che come posso impostare correttamente il mio percorso multimediale?
Per i nuovi utenti: non dimenticare di aggiungere 'include /etc/nginx/mime.types;' perché i file multimediali verranno ignorati dal browser se vengono offerti con il tipo di mimo predefinito 'text/plain' –
Voglio i media server archiviati da URL diversi, ad esempio "media.example.com". come posso ottenerlo? – Kishan