为什么使用Nginx服务的网站没有应用样式

时间:2018-12-08 13:52:38

标签: django reactjs docker nginx docker-compose

我尝试使用nginx将react app的构建放在localhost /上。据我了解,我需要使用“ npm run build”构建应用程序,然后使用静态内容提供构建目录。几个小时后,我设法将它与docker和django服务一起作为localhost / api /下的api使用。但是在此站点上的css和js无法正常工作。在任何页面上,它都不是react或django端点,只有带有css的原始html不能正常工作。经过多次尝试更改配置等。我以相同的原始html结尾。为什么在nginx上网站上没有样式,即使在检查这些页面时也链接到它们。
这是我的nginx.conf

http {

  server {
  listen 80;
  listen [::]:80;
        root /var/www/html;
  server_name localhost;
         index index.html index.htm;
  location /api/ {
        proxy_pass "http://web:8000/";
}
  location / {
        include /etc/nginx/mime.types;
try_files $uri $uri/ /index.html;
}
        location ~* \.(?:jpg|jpeg|gif|png|ico|cur|gz|svg|svgz|mp4|ogg|ogv|webm|htc)$ {
        root /var/www/html;
          expires 1M;
          access_log off;
          add_header Cache-Control "public";
        }
}
}

这是docker-compose

的一部分
  nginx:
    image: nginx:latest
    ports:
      - 80:80
      - 443:443
    volumes:
    - ./nginx_conf/:/etc/nginx/
    - ./frontend/build/:/var/www/html/
    depends_on:
      - web

当我使用npm start运行此应用程序时:image
当我运行nginx进入localhost /时:image

1 个答案:

答案 0 :(得分:0)

好吧,我不明白为什么。但是我搞砸了检查器,我无意中点击了禁用HTTP缓存并加载了引导程序!我真的不知道如何运作,但现在可以运作了。