未为已部署的 django rest 框架加载静态文件
Static files not loading for deployed django rest framework
我已经在 Ubuntu 18.04 上使用 gunicorn 和 nginx 构建并成功部署了一个 django rest 框架。但是,静态文件没有被提取。
Django web app without loaded static files
这是我的 nginx 配置:
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name [my_server_domain_or_IP];
#root /var/www/html;
location = /favicon.ico { access_log off; log_not_found off; }
location = /static/ {
root /home/ubuntu/myprojectdir;
}
location / {
include proxy_params;
proxy_pass http://unix:/run/gunicorn.sock;
}
}
在我的 settings.py 文件中:
STATIC_URL = '/static/'
import os
STATIC_ROOT = os.path.join(BASE_DIR, 'static/')
我检查过 DEBUG 设置为 False。
我也已经 运行 collectstatic
并且静态文件位于名为 static 的文件夹中:/home/ubuntu/myprojectdir/static.
我尝试在 nginx 配置中进行的每一次更改,我都使用以下命令重新启动 nginx:sudo systemctl restart nginx
.
我主要遵循这个 tutorial,唯一的区别是我编辑了默认的 nginx 配置而不是创建一个新配置,因为它不是以这种方式部署我的 django 应用程序。
我似乎无法弄清楚哪里出了问题,并且已经尝试解决好几天了。我在这里遗漏了什么吗?
这里不需要等号:
location = /static/ {
root /home/ubuntu/myprojectdir;
}
试试这个:
location /static/ {
root /home/ubuntu/myprojectdir;
}
尝试授予您的主文件夹权限
chmod a+x /home/ubuntu -R
我已经在 Ubuntu 18.04 上使用 gunicorn 和 nginx 构建并成功部署了一个 django rest 框架。但是,静态文件没有被提取。 Django web app without loaded static files
这是我的 nginx 配置:
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name [my_server_domain_or_IP];
#root /var/www/html;
location = /favicon.ico { access_log off; log_not_found off; }
location = /static/ {
root /home/ubuntu/myprojectdir;
}
location / {
include proxy_params;
proxy_pass http://unix:/run/gunicorn.sock;
}
}
在我的 settings.py 文件中:
STATIC_URL = '/static/'
import os
STATIC_ROOT = os.path.join(BASE_DIR, 'static/')
我检查过 DEBUG 设置为 False。
我也已经 运行 collectstatic
并且静态文件位于名为 static 的文件夹中:/home/ubuntu/myprojectdir/static.
我尝试在 nginx 配置中进行的每一次更改,我都使用以下命令重新启动 nginx:sudo systemctl restart nginx
.
我主要遵循这个 tutorial,唯一的区别是我编辑了默认的 nginx 配置而不是创建一个新配置,因为它不是以这种方式部署我的 django 应用程序。
我似乎无法弄清楚哪里出了问题,并且已经尝试解决好几天了。我在这里遗漏了什么吗?
这里不需要等号:
location = /static/ {
root /home/ubuntu/myprojectdir;
}
试试这个:
location /static/ {
root /home/ubuntu/myprojectdir;
}
尝试授予您的主文件夹权限
chmod a+x /home/ubuntu -R