這是我的nginx的配置:提供靜態文件nginx的+ Gunicorn + Django的
server {
listen 80;
server_name localhost;
keepalive_timeout 5;
access_log /home/tunde/django-projects/mumu/nginx/access.log;
error_log /home/tunde/django-projects/mumu/nginx/error.log;
root /home/tunde/django-projects/mumu;
location/{
try_files $uri @proxy_to_app;
}
location @proxy_to_app {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://127.0.0.1:8000;
}
}
我的settings.py樣子:
import os
settings_dir = os.path.dirname(__file__)
PROJECT_ROOT = os.path.abspath(os.path.dirname(settings_dir))
STATIC_ROOT = '/home/tunde/django-projects/mumu/STATIC/'
STATIC_URL = '/static/'
STATICFILES_DIRS = (
os.path.join(PROJECT_ROOT, 'static/'),
)
我supervisord.conf文件看起來像:
[program: mumu]
command = /home/tunde/ENV1/bin/gunicorn -w 1 --bind=127.0.0.1:8000 mumu.wsgi:application
directory = /home/tunde/django-projects/mumu/
stdout_logfile= /home/tunde/django-projects/mumu/supervisor/logfile.log
stderr_logfile= /home/tunde/django-projects/mumu/supervisor/error.log
user = tunde
問題是靜態文件沒有得到服務,我不知道我做錯了什麼。像/static/css/styles.css這樣的網址會返回一個404.幫助將不勝感激。
感謝@scott由於使用Django某種程度上忽略存儲在一個名爲「靜態」文件夾中的靜態文件的上一次的經驗,我決定改變位置和名稱我的靜態文件。在nginx重新啓動後,我的配置工作,而不必添加您的建議位置塊。 – Tundebabzy
當你看你的主管日誌文件時,你看到靜態(img,css,javascript)文件的請求嗎? –
我的logfile.log即在supervisord.conf中的stdout_logfile是完全爲空的 – Tundebabzy