我正在部署一个网站,其中包含一些使用create-react-app构建的反应项目。每个项目都在自己的网页上:例如:mywebsite.com/project1,mywebsite.com/project。我在Ubuntu服务器上设置了一个nginx反向代理(我知道如何配置),但我不知道如何为每个create-react-app项目指定端口号,以便每个项目都有一个唯一的端口。任何人都可以阐明如何做到这一点?谢谢!
PS - 我见过这样的线程 - How to specify a port to run a create-react-app based project?,但我看不出这个解决方案如何应用于生产中。
答案 0 :(得分:0)
您在create-react-app中使用npm start
命令启动的服务器是webpack dev服务器。它只是意味着在开发时使用,你不应该在生产环境中使用它。
相反,您可以轻松地使用简单的静态文件服务器托管CRA应用程序,该服务器可以easily configure with nginx而无需反向代理或更改开发服务器的端口。您只需运行npm run build
命令并将build
文件夹的内容部署到静态文件服务器的相应文件夹中。您可以在the documentation of CRA中了解详情。
此外,在构建项目之前,请确保specify the homepage
in your package.json
,因为您要在mywebsite.com/project1
之类的相对路径中托管您的应用。因为CRA假定您的应用程序使用默认设置托管在服务器根目录。
希望这有帮助!