Reactjs 在nginx上提供静态文件:我怎么知道它工作?

Reactjs 在nginx上提供静态文件:我怎么知道它工作?,reactjs,nginx,Reactjs,Nginx,你好 我在Red Hat服务器上有一个React应用程序,上面有一个build/static文件夹(里面没有index.html文件,正常吗?)。任务是使nginx在此服务器上提供静态文件 我的配置在/etc/nginx文件夹的conf.d中: $ cat my.conf server { listen 443 http2 ssl; listen [::]:443 http2 ssl; root /home/***-user/repo/****/frontend/bu

你好

我在Red Hat服务器上有一个React应用程序,上面有一个build/static文件夹(里面没有index.html文件,正常吗?)。任务是使nginx在此服务器上提供静态文件

我的配置在/etc/nginx文件夹的conf.d中:

 $ cat my.conf 
server {
    listen 443 http2 ssl;
    listen [::]:443 http2 ssl;
    root /home/***-user/repo/****/frontend/build/static;
    server_name **.***.***.**;
    ssl_certificate /etc/ssl/certs/nginx-selfsigned.crt;
    ssl_certificate_key /etc/ssl/private/nginx-selfsigned.key;
    ssl_dhparam /etc/ssl/certs/dhparam.pem;
    location / {
                proxy_pass http://localhost:8080;
    }
}

我重新启动了nginx,我怎么知道所有静态文件现在都由nginx提供并且工作正常呢?

您只需进入React应用程序的index.html(带有js、css…)

我不知道你的nginx配置是否有效,我个人使用这个

server {
    listen       443 ssl;
    server_name  localhost;
    ssl_certificate    /etc/nginx/ssl/server.crt;
    ssl_certificate_key /etc/nginx/ssl/server.key;

    location / {

        root   /../build/static/;
        index  index.html index.htm;
    }
 }

嗯,在做了一些研究之后,检查nginx是否有效的方法似乎是转到我们的站点,在我们的站点上切换链接,同时查看网络选项卡。在上一个版本中,每次我访问某个选项卡时,它都会下载资源,而现在它只在4-5个选项卡之间切换下载资源(我不知道为什么,因为我将expires设置为15分钟(
expires 15m;
在我的配置中)

在浏览器上,访问https链接,打开chrome developer tools,一旦进入根路径,就可以看到提供的静态文件。
您的,/home/-user/repo/*/frontend/build/static中的所有文件将在启动url时预先提供。

@Ian Kemp在我添加此配置后,实际上没有任何更改。没有任何更改。如果该问题是如此“偶数”,因此很容易回答。应该更改什么?我应该查看哪里?在网络中还是什么?index.html文件是生成文件夹(与静态文件夹处于同一级别).index.html位于/home/***-user/repo/***/frontend/public文件夹中,index.js和index.css位于/home/***-user/repo/***/frontend/src文件夹中。我是否应该将所有这3个文件移动到一个/build/static文件夹中?不一定。您只需要index.html位于nginx公司根属性中提到的文件夹中nfigwell,我可以在开发者工具的“网络”选项卡中看到200状态。启用nginx之前也是如此。是的。在您的案例中,您的应用程序服务器正在为这些静态文件提供服务。从nginx代理服务器提供静态资产比从应用程序服务器提供静态资产有很多好处。如果您没有启用nginx,您的应用程序服务器必须为这些静态文件提供服务ic文件,这是您服务器的额外开销。其中,nginx因其在服务静态文件、gzip、SSL甚至稍后的负载平衡方面的性能而广受欢迎。Vijay122但问题仍然存在:我如何知道我的应用服务器或nginx是否正在这样做?