如何为预渲染的React App配置nginx?

时间:2019-07-11 12:02:33

标签: reactjs nginx prerender

我有React应用。

它在本地计算机(应用程序+ prerender-spa-plugin)上运行良好。我使用命令http-server将其运行到./build包中

但是在服务器上出了问题-就像我使用serve-s命令启动它一样。

服务器上有带有nginx映像的docker。

我尝试重新配置nginx,使其对不同的URL使用不同的index.html,但再次失败

路由到保存静态图像的目录是否有问题?

如何解决?或在哪里可以找到有关它的信息?

2 个答案:

答案 0 :(得分:0)

您必须在nginx服务器上创建虚拟主机,并将其指向应用程序的构建文件夹。不要忘记运行npm run build

简单的nginx配置

server {

    listen 80;
    listen [::]:80;

    root /var/www/reactjsapp/build;
    index index.html index.htm;

    server_name reactjsapp.com;

    location / {
        try_files $uri /index.html;
    }

        location ~ /\.ht {
            deny all;
        }

}

答案 1 :(得分:0)

我决定了。 我的配置

location / {
            root   /usr/share/nginx/html;
            index  index.html index.htm;
            try_files $uri $uri/ /index.html;
        }

根据官方文档:“可以通过在名称末尾指定斜杠来检查目录的存在,例如“ $ uri /”。

https://i.stack.imgur.com/PusBE.png