docker 为什么服务器上的静态停止工作?

hgncfbus  于 2024-01-06  发布在  Docker
关注(0)|答案(1)|浏览(159)

静态文件在部署项目时停止工作
我已经尝试了各种设置,nginx和docker-compose的配置。
当插入一个直接链接从互联网引导文件到基本模板,静态开始工作,它没有停止在管理面板

settings.py

  1. STATIC_URL = '/static/'
  2. STATIC_ROOT = BASE_DIR / 'static'
  3. MEDIA_URL = '/media/'
  4. MEDIA_ROOT = BASE_DIR / 'media'

字符串

nginx.conf

  1. upstream coolsite_web {
  2. server coolsite_web:8080;
  3. }
  4. server {
  5. listen 80;
  6. listen [::]:80;
  7. server_name zatolokina-clinic.ru www.zatolokina-clinic.ru;
  8. server_tokens off;
  9. charset utf-8;
  10. location / {
  11. proxy_pass http://coolsite_web;
  12. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  13. proxy_set_header Host $http_host;
  14. proxy_redirect off;
  15. }
  16. location /static/ {
  17. alias /coolsite/static;
  18. }
  19. location /media/ {
  20. alias /coolsite/media;
  21. }
  22. }

docker-compose

  1. coolsite_web:
  2. build:
  3. context: .
  4. dockerfile: Dockerfile
  5. container_name: zatolokina
  6. expose:
  7. - "8080"
  8. volumes:
  9. - ./coolsite:/coolsite
  10. - static_volume:/coolsite/static
  11. - media_volume:/coolsite/media
  12. env_file:
  13. - .env
  14. environment:
  15. - POSTGRES_HOST=pg_db
  16. - POSTGRES_DB:${POSTGRES_DB}
  17. - POSTGRES_USER:${POSTGRES_USER}
  18. - POSTGRES_PASSWORD:${POSTGRES_PASSWORD}
  19. command: >
  20. sh -c "python manage.py collectstatic --noinput --clear &&
  21. python manage.py makemigrations &&
  22. python manage.py migrate &&
  23. gunicorn coolsite.wsgi:application --bind 0.0.0.0:8080"
  24. depends_on:
  25. - pg_db
  26. nginx:
  27. build:
  28. context: ./nginx
  29. dockerfile: Dockerfile
  30. volumes:
  31. - static_volume:/coolsite/static
  32. - media_volume:/coolsite/media
  33. - ./nginx:/etc/nginx/conf.d
  34. ports:
  35. - "80:80"
  36. - "443:443"
  37. restart:
  38. always
  39. depends_on:
  40. - coolsite_web


Project structure
我还输入了ls -l /coolsite/static命令,总共得到12个
drwxr-xr-x 5 root root 4096 Dec 13 15:25 admin
drwxr-xr-x 4 root root 4096 Dec 13 15:25 debug_toolbar
drwxr-xr-x 5 root root 4096 Dec 13 15:25 django_extensions

kxe2p93d

kxe2p93d1#

不如这样吧:

  1. server {
  2. listen 80;
  3. listen [::]:80;
  4. server_name zatolokina-clinic.ru www.zatolokina-clinic.ru;
  5. server_tokens off;
  6. charset utf-8;
  7. location /static {
  8. alias /coolsite/static;
  9. }
  10. location /media {
  11. alias /coolsite/media;
  12. }
  13. location / {
  14. proxy_pass http://coolsite_web;
  15. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  16. proxy_set_header Host $http_host;
  17. proxy_redirect off;
  18. }
  19. }

字符串
这对我的网站起作用:

  1. upstream pingli_api {
  2. server 127.0.0.1:9817;
  3. }
  4. server {
  5. server_name zwp.xxx.top;
  6. client_max_body_size 30m;
  7. location /media {
  8. alias /home/wenping/coding/pingli/media;
  9. }
  10. location /static {
  11. alias /home/wenping/coding/pingli/static;
  12. }
  13. location /docs {
  14. proxy_set_header Host $host;
  15. proxy_set_header X-Real-IP $remote_addr;
  16. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  17. proxy_set_header X-Forwarded-Proto $scheme;
  18. proxy_pass http://pingli_api;
  19. }
  20. location /api {
  21. proxy_set_header Host $host;
  22. proxy_set_header X-Real-IP $remote_addr;
  23. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  24. proxy_set_header X-Forwarded-Proto $scheme;
  25. proxy_pass http://pingli_api;
  26. }
  27. location / {
  28. proxy_set_header Host $host;
  29. proxy_set_header X-Real-IP $remote_addr;
  30. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  31. proxy_set_header X-Forwarded-Proto $scheme;
  32. proxy_pass http://pingli_api;
  33. }
  34. listen 443 ssl; # managed by Certbot
  35. ssl_certificate /etc/letsencrypt/live/zwp.xxx.top/fullchain.pem; # managed by Certbot
  36. ssl_certificate_key /etc/letsencrypt/live/zwp.xxx.top/privkey.pem; # managed by Certbot
  37. include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
  38. ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
  39. }

展开查看全部

相关问题