我正在尝试使用 gunicorn 和 nginx 部署我的 django 项目,但我需要一些帮助。当我编写 gunicorn myproject.wsgi:application 代码时,我设法在 localhost 页面中看到我的网站,但没有任何 CSS。为什么 gunicorn 不会将我的 css 文件加载到我的项目的静态文件夹中?
Guinicorn_start 脚本:https ://dpaste.de/TAc4 Gunicorn 输出:https ://dpaste.de/C6YX
我正在尝试使用 gunicorn 和 nginx 部署我的 django 项目,但我需要一些帮助。当我编写 gunicorn myproject.wsgi:application 代码时,我设法在 localhost 页面中看到我的网站,但没有任何 CSS。为什么 gunicorn 不会将我的 css 文件加载到我的项目的静态文件夹中?
Guinicorn_start 脚本:https ://dpaste.de/TAc4 Gunicorn 输出:https ://dpaste.de/C6YX
Gunicorn 将只提供动态内容,即 Django 文件。所以你需要设置一个代理服务器,比如 nginx 来处理静态内容(你的 CSS 文件)。我假设你以正确的方式启动 Gunicorn,所以你只需要配置 nginx 来提供静态文件。您可以使用如下配置,只需更改静态文件的路径:
server {
listen 80;
server_name localhost;
location / {
root html;
index index.html index.htm;
proxy_pass http://127.0.0.1:8000;
}
location /static {
autoindex on;
alias /path/to/staticfiles;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
即使设置了这个配置,你也必须调用“./manage.py collectstatic”来让你的css工作
Gunicorn 只负责为您的站点提供 django 方面的服务。
静态文件需要由 nginx 提供服务。请参阅:我究竟如何使用 nginx 和 gunicorn 为 Django 应用程序提供静态文件?. 这应该在nginx.conf
文件中配置。如果你把它贴在这里,我们可以看看它。
我以前也遇到过这个问题。尝试在您的 Nginx 配置中设置静态路径,然后授予您项目的权限。
sudo chmod -R 777 /webapps/yourweb/
尝试再次启动您的服务器。希望它有所帮助。