总体思路: 设置好STATIC_ROOT后使用python manager.py collectstatic命令将django下所有的静态文件搜集到STATIC_ROOT下,然后让nginx的static路由指向这个目录
1. Django的settings.py文件中设置如下
STATIC_URL = '/static/' STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles') # 或者其它你存放静态文件收集后的目录
STATIC_ROOT
是用于存放Django管理命令collectstatic
收集的所有静态文件的目录。
2. 运行collectstatic
命令:
在部署前,确保运行以下命令来收集所有静态文件到STATIC_ROOT
指定的目录中:
python manage.py collectstatic
3. 检查Nginx配置:
确保Nginx配置正确地指向了静态文件目录。一个典型的Nginx配置示例如下:
location /static/ { alias /path/to/your/staticfiles/; expires 30d; }
其中的/path/to/your/staticfiles/
应该替换为实际的STATIC_ROOT
路径。
4. 重启uwsgi和Nginx:
在修改了任何配置后,都需要重启uwsgi和Nginx以使更改生效:
-
uwsgi --reload /path/to/uwsgi.pid # 如果你使用uwsgi的pid文件管理进程 sudo service nginx restart # 或者其他适合你系统的重启Nginx命令(nginx -s reload)
标签:Nginx,静态,Django,nginx,STATIC,ROOT,uwsgi
From: https://www.cnblogs.com/sprouts/p/18174546