使用react-app-rewired的nginx进行React生产

时间:2018-11-12 05:42:15

标签: reactjs nginx react-router react-router-v4 antd

我尝试在heroku上部署我的应用程序,并且它可以正常工作。但是当我使用react-app-rewired脚本构建我的应用程序并使用nginx将其部署到我的服务器时。访问我的应用程序时,它仍然可以正常工作,但是如果我使用contextPath:http://35.240.229.243/products重新加载页面,则会引发404错误。您可以在http://35.240.229.243中访问我的应用进行测试。我正在使用带有历史的react-router。帮我谢谢

1 个答案:

答案 0 :(得分:1)

首先,您需要找到默认的nginx conf文件并将其禁用,默认情况下它将位于/etc/nginx/sites-enabled/default

sudo rm -rf /etc/nginx/sites-enabled/default

并在/etc/nginx/sites-available/下创建新文件

sudo touch /etc/nginx/sites-enabled/default/redbox

并使用vim或nano将文本放入新的conf文件redbox

server {
        listen 80;

        root /usr/share/nginx/html;
        index index.html;

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

并启用它

sudo ln -s /etc/nginx/sites-available/redbox /etc/nginx/sites-enabled/redbox

下一步,请确保Nginx文件中没有语法错误,

sudo nginx -t

如果未发现问题,请重新启动Nginx。

sudo systemctl restart nginx