时间:2021-03-31 09:12:26 | 栏目:Nginx | 点击:次
测试项目:react-demo
server { listen 8080; # server_name your.domain.com; root /home/root/react-demo/dist; index index.html index.htm; location / { try_files $uri $uri/ /index.html; } location ^~ /assets/ { gzip_static on; expires max; add_header Cache-Control public; } error_page 500 502 503 504 /500.html; client_max_body_size 20M; keepalive_timeout 10; }
执行sudo service nginx restart重启Nginx服务,
访问项目,http://IP:8080/
注意事项:
1、配置域名的话,需要80端口,成功后,只要访问域名即可访问的项目
2、如果你使用了React-Router的browserHistory 模式,请在Nginx配置中加入如下配置:
location / { try_files $uri $uri/ /index.html; }
原理,因为我们的项目只有一个根入口,当输入类似/home的url时,找不到这个页面,这是,nginx会尝试加载index.html,加载index.html之后,react-router就能起作用并匹配我们输入的/home路由,从而显示正确的home页面,,如果browserHistory模式的项目没有配置上述内容,会出现404的情况。
可参考react-router文档:
https://react-guide.github.io/react-router-cn/docs/guides/basics/Histories.html
总结