uwsgi+nginx启动Django静态文件设置

总体思路: 设置好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以使更改生效:

  1. uwsgi --reload /path/to/uwsgi.pid # 如果你使用uwsgi的pid文件管理进程
    sudo service nginx restart # 或者其他适合你系统的重启Nginx命令(nginx -s reload)
 
 
 
 
posted @ 2024-05-06 10:46  隐忍沙丘  阅读(193)  评论(0)    收藏  举报