gpt4 book ai didi

django - AWS 中的静态文件配置不起作用

转载 作者:行者123 更新时间:2023-12-02 16:49:14 26 4
gpt4 key购买 nike

我目前有一个在 Elastic BeanStalk 上运行的多 docker 容器应用程序(nginx、postgres RDS、Django),我可以使用它,但未加载静态文件(CSS 文件和 JS 脚本)。这是我当前的配置:

nginx 安装文件

 user nginx;
worker_processes 1;

events {
worker_connections 1024;
}

http {
include /etc/nginx/mime.types;
client_max_body_size 100M;

server {
listen 80;
charset utf-8;
server_name mydashboard.com;

access_log /dev/stdout;
error_log /dev/stdout info;

location /media/ {
alias /var/www/media/;
}

location /static/ {
alias /var/www/static/;
}

location / {
proxy_pass http://web:8888;
proxy_set_header host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
}
}
}

.ebextensions(文件夹)

django.config(文件)

 option_settings:
"aws:elasticbeanstalk:application:environment":
DJANGO_SETTINGS_MODULE: "mydashboard.settings"
"ALLOWED_HOSTS": ".elasticbeanstalk.com"
"aws:elasticbeanstalk:container:python":
WSGIPath: mydashboard/mydashboard/wsgi.py
"aws:elasticbeanstalk:container:python:staticfiles":
"/static/": "www/static/"

设置.py

  STATIC_URL = '/static/'
STATICFILES_DIRS = (os.path.join(BASE_DIR,'static'),)
STATIC_ROOT = os.path.join(BASE_DIR, "..", "www", "static")
STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage'
MEDIA_URL = '/media/'

如果我删除文件夹 .ebextensions 文件夹并加载应用程序,它将在不显示静态文件的情况下工作,但如果我添加包含 django.conf 文件的文件夹该应用程序不会部署,我会遇到错误:无效的选项规范(命名空间:'aws:elasticbeanstalk:container:python:staticfiles',OptionName:'/static/'):未知的配置设置。

在我发现的一篇文章 ( Serving static files in Django ) 中提到应该删除 .config 文件中的所有静态文件指令,并且在软件配置下我应该在静态文件部分下配置静态文件,但是,这个静态文件部分甚至没有显示。显示静态文件我缺少什么代码?提前感谢您的建议和回答。

最佳答案

EBS 有新设置

option_settings:
aws:elasticbeanstalk:container:python:
WSGIPath: mysite.wsgi:application
aws:elasticbeanstalk:environment:proxy:staticfiles:
/static: static
container_commands:
01_collectstatic:
command: "source /var/app/venv/staging-LQM1lest/bin/activate && python manage.py collectstatic --noinput"
02_migrate:
command: "source /var/app/venv/staging-LQM1lest/bin/activate && python manage.py migrate --noinput"
leader_only: true

关于django - AWS 中的静态文件配置不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59379814/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com